Я пытаюсь написать хранимую процедуру, чтобы номер транзакции возвращался к 01 каждый день, но когда я ее запускаю, все номера транзакций в этот день до 01 не увеличиваются.
, затем я добавляю
and (V_JML_RECORD = 1) THEN
V_JML_RECORD: = V_JML_RECORD +1;
, и когда я запускаю его, я получаю ошибку ORA-01422
;Есть ли точное точное возвращение запрошенного количества строк, которое может объяснить и решить мою проблему?
SELECT TRIM (NAMA), TRIM (KD_KTR) AS KDKTR
INTO V_NAMA, V_KDKTR
FROM D_PRS
WHERE TRIM (STB) = P_STB;
SELECT TO_CHAR (sysdate, 'MM')
INTO V_BLNSKR
from dual;
SELECT TO_CHAR (sysdate, 'DD')
INTO V_HRSKR
from dual;
SELECT COUNT(NOKAS)
INTO V_JML_RECORD
FROM (
SELECT NOKAS,TGKAS,KTRASL FROM D_MSTHEADER_UKERJA WHERE TGKAS IN(
SELECT MAX(TGKAS) FROM D_MSTHEADER_UKERJA WHERE KTRASL=V_KDKTR)
)
IF (V_BLNSKR = '02')
AND (V_HRSKR = '27') THEN
V_JML_RECORD := 1;
ELSIF (V_BLNSKR = '02')
AND (V_HRSKR = '27')
AND (V_JML_RECORD = 1) THEN
V_JML_RECORD := V_JML_RECORD +1;
ELSE
V_JML_RECORD := V_JML_RECORD +1;
END IF;