执行存储过程时出错(期望:错误)

时间:2014-07-06 12:16:17

标签: sql oracle stored-procedures triggers

我正在尝试在触发器中执行已经定义的存储过程。当我尝试执行下面提到的代码时,我收到了这个错误:

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 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;
/

这就是我定义该过程的方法,这段代码运行良好:

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 个答案:

答案 0 :(得分: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;
/