weggelassen. Ich schrieb eine Logik, um festzustellen, ob ein Kcode (Arztabrechnung) für einen Patienten korrekt ist. Ich schrieb eine Logik, um die Aufzeichnungen durchzulaufen und in die Spalte die ID des korrekten CP (Pflegedienstleisters) zu setzen, der den kcode verdient. Aus irgendeinem Grund folgen der letzte Datensatz oder die letzten 2 Datensätze nicht der Logik. Dies ist meine Logik-Code (in einem Cursor):Der letzte Datensatz wurde aus Formel
OPEN kcode_count;
kcode_loop: LOOP
FETCH kcode_count INTO dbPTNT_ID, dbCP_ID, dbSEEN, holder, dbDATE, holder2;
IF done THEN
LEAVE kcode_loop;
END IF;
IF dbPTNT_ID <> setPTNT_ID THEN
IF setPTNT_ID <> 0 THEN
UPDATE tmp_kcodes
SET SHOULD_GET = setCP_ID
WHERE setPTNT_ID = PTNT_ID;
END IF;
SET setPTNT_ID = dbPTNT_ID;
SET setCP_ID = dbCP_ID;
SET setSEEN = dbSEEN;
SET setDATE = dbDATE;
ELSEIF dbSEEN > setSEEN THEN
SET setCP_ID = dbCP_ID;
SET setSEEN = dbSEEN;
SET setDATE = dbDATE;
ELSEIF dbSEEN = setSEEN THEN
IF dbDATE < setDATE THEN
SET setCP_ID = dbCP_ID;
SET setSEEN = dbSEEN;
SET setDATE = dbDATE;
END IF;
END IF;
END LOOP kcode_loop;
CLOSE kcode_count;
Wie unten zu sehen ist, in der SHOULD_GET Spalte, die letzten beiden Datensätze erzeugen NULL. Gibt es einen Grund warum?
Sie haben SET SHOULD_GET nur in einem Block verwendet, es könnte nicht in diesen Block gehen, bitte überprüfen Sie dies anhand Ihrer Logik. – Avishek
@AvishekChat Das ist, weil ich es nur aktualisiert werden soll, nachdem es –
durch jeden bestimmten Patienten-ID gegangen ist Sie eine 'print' oder' Temp Debug table' nach dem 'UPDATE tmp_kcodes SET SHOULD_GET = setCP_ID WHERE setPTNT_ID = PTNT_ID setzen sollten ; ', um zu sehen, wann und was genau aktualisiert wird ... – Avishek