Я написал некоторую логику, чтобы определить, подходит ли кодовое (докторское биллинг) для пациента. Я написал некоторую логику, чтобы перебрать записи и поместить в столбец идентификатор правильного CP (поставщика обслуживания), который заслуживает kcode. По какой-то причине последняя запись или последние 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' после 'UPDATE tmp_kcodes SET SHOULD_GET = setCP_ID WHERE setPTNT_ID = PTNT_ID ; ', чтобы посмотреть, когда и по какой именно будет обновляться ... – Avishek