2014-07-06 2 views
1

트리거 내에서 이미 정의 된 저장 프로 시저를 실행하려고합니다. 나는이 오류가 무엇입니까 코드의 아래에 언급 된 부분을 실행하려고 할 때 :저장 프로 시저 (Expecting : 오류)를 실행하는 동안 오류가 발생했습니다.

create or replace trigger pat_lines_trig 
after insert on pat_headers_all 
for each row 
begin 
    call pat_lines_proc (&p_lineno,&p_diseasename,&p_PAT_HEADERS_ID); 
end; 
/

이 :

ERROR line 22, col 9, ending_line 22, ending_col 22, Found 'pat_lines_proc', 
Expecting: ; -or- := -or- . -or- ( -or- @ -or- ROW 

이것은 내가 트리거 내부의 프로 시저를 호출하고, 위에서 언급 한 오류가 발생하고 어떻게 어떻게 그 프로 시저를 정의했으며이 코드 조각이 잘 작동했는지입니다 :

Create or Replace procedure pat_lines_proc(
p_lineno in pat_lines.LINE_NO%type, 
p_diseasename in pat_lines.DISEASE_NAME%type, 
p_pat_headers_id in pat_lines.PAT_HEADERS_ID%type 
) 
is 
begin 
insert into pat_lines 
values(
pat_lines_seq.nextval, 
p_lineno, 
p_diseasename, 
p_pat_headers_id 
); 
end pat_lines_proc; 

여기에 잘못된 것 같습니다.

답변

1

나는 절차에 값을 전달할 때 열 이름이 너무,

CREATE OR REPLACE TRIGGER pat_lines_trig 
    AFTER INSERT 
    ON pat_headers_all 
    FOR EACH ROW 
BEGIN 
    pat_lines_proc (:new.p_lineno, :new.p_diseasename, :new.p_PAT_HEADERS_ID); 
END; 
/
로 트리거를 만들어보십시오 올바른 열 이름을 대체 가정 하였다
관련 문제