0
我写了一些逻辑来确定kcode(医生帐单)是否对患者正确。我编写了一些逻辑来循环记录,并在列中放置了值得kcode的正确CP(护理提供者)的ID。由于某种原因,最后一条记录或最后2条记录不符合逻辑。这是我的逻辑代码(在光标内):从公式中删除最后一条记录
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;
如下所示,在SHOULD_GET列中,最后两个记录产生NULL。有什么理由?
您已经在一个块中使用过'SET SHOULD_GET',它可能不会进入该块,请检查您的逻辑。 – Avishek
@AvishekChat这是因为我希望它只是更新它通过每个具体患者的ID –
的'更新后,你应该把'print'或'临时调试table'走后tmp_kcodes SET SHOULD_GET = setCP_ID WHERE setPTNT_ID = PTNT_ID ;',看什么时候,什么时候更新...... – Avishek