2015-01-20 1 views
0

이 스크립트를 실행하려면 어떻게해야합니까? ORA-06550 : 행 8 열 13 : PLS-00382 : 라인 (8)에서PLS-00382 : 식의 형식이 잘못되었습니다. PL/SQL : 문이 무시되었습니다.

DECLARE 
DBlink varchar2(20); 
type array_t is varray(2) of varchar2(20); 
    array array_t := array_t('T', 'RA') ; 
    BEGIN 
    FOR i in 1..array.count 
    LOOP 
    DBlink := array_t(i) ; 
     insert into Database_size_2 (DBNAME,date1,Dbsize)values(DBlink,sysdate,11) ; 
    END LOOP ; 
END ; 

ERROR 8 행, 칼럼 3 : PL/SQL : 식 잘못된 유형 ORA-06,550이다 명세서 무시 됨

답변

2

PL/SQL에 오타가 있습니다.

DECLARE 
    DBlink varchar2(20); 
    type array_t is varray(2) of varchar2(20); 
    array array_t := array_t('T', 'RA') ; 
BEGIN 
    FOR i in 1..array.count 
    LOOP 
     DBlink := array(i) ; 
     insert into Database_size_2 (DBNAME,date1,Dbsize) values (DBlink,sysdate,11) ; 
    END LOOP ; 
END; 

당신은 실제로 모든 변수 DBLink을 필요로하지 않지만 직접 배열 항목을 사용할 수 있습니다 :

을 당신은 당신의 DECLARE 블록에 정의 된 변수 array보다는 실제의 형태 array_t를 사용하는
DECLARE 
    type array_t is varray(2) of varchar2(20); 
    array array_t := array_t('T', 'RA') ; 
BEGIN 
    FOR i in 1..array.count 
    LOOP 
     insert into Database_size_2 (DBNAME,date1,Dbsize) values (array(i),sysdate,11) ; 
    END LOOP ; 
END; 
+0

빠른 답장을 보내 주셔서 감사합니다. 현재 작동 중입니다. :) –

관련 문제