-1
배열에 요소를 추가하려고 할 때 초기화되지 않은 컬렉션 예외에 대한 참조를 얻고 있습니다. 제 전화 코드에서 언급 한대로 어레이를 초기화하는 올바른 방법입니까?배열 PLSQL을 사용하여 초기화되지 않은 컬렉션 예외에 대한 참조
CREATE OR REPLACE TYPE SCHEMA.STRARRAY AS TABLE OF VARCHAR2 (255);
CREATE OR REPLACE PROCEDURE SCHEMA.PR_VALIDATE
(
FILEARRAY IN STRARRAY,
DUPARRAY OUT STRARRAY)
IS
dupCount NUMBER;
fileName VARCHAR2 (50);
fileId NUMBER;
dupfileName VARCHAR2(50);
BEGIN
for i in 1 .. FILEARRAY.count
loop
fileName := FILEARRAY(i);
SELECT COUNT (T.FILEID), T.FILEID INTO dupCount,fileId FROM TB_COMPANY T, TB_COMPANY S
WHERE T.FILEID=S.FILEID
AND T.RPDT_ORI_FLE_NM = fileName AND T.RPDT_STA_CD IN ('PASS', 'FAIL')
GROUP BY T.FILEID;
IF dupCount>1
THEN
SELECT RPDT_ORI_FLE_NM INTO dupfileName FROM TB_RDTE_COMPANY_HDR_DT
WHERE RPDT_STA_CD IN ('PR15','PR16') AND RPDT_FLE_ID=fileId
AND RPDT_ORI_FLE_NM != fileName;
DBMS_OUTPUT.PUT_LINE(dupfileName);
DUPARRAY(DUPARRAY.LAST +1) :=dupfileName; --Here is the exception.
END IF;
end loop;
EXCEPTION
WHEN OTHERS THEN
PR_RDTE_ERRORS('PR_VALIDATE', SQLERRM);
ROLLBACK;
END;
/
전화 번호 :
DECLARE
DUPARRAY STRARRAY:=STRARRAY();
BEGIN
PR_VALIDATE (STRARRAY('abc.txt'),DUPARRAY);
END;
감사합니다. 확장 및 DUPARRAY.LAST를 추가 한 후에도 동일한 예외가 발생합니다. :(내 전화 코드에서 뭔가 잘못 되었나요? – Karthik
@ Karthik 절차의 4 번째 줄에 여분의 쉼표가 있습니다. – MT0
예 ... 실수를 복사하고 있습니다 ... 쉼표는 지금 내 절차에 없습니다 ... 편집 없음 errors..only 런타임 오류 .. 내 질문을 편집 할 것입니다 .. 그 점에 대해 감사합니다.하지만 어떻게 든 그 오류를 해결할 수 없습니다. – Karthik