Sql 执行存储过程时出错(应为:错误)

Sql 执行存储过程时出错(应为:错误),sql,oracle,stored-procedures,triggers,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_l

我试图在触发器中执行一个已定义的存储过程。当我试图执行下面提到的代码时,我遇到了以下错误:

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;

这里似乎出了什么问题?

我假设了列名,所以在将值传递给过程时,请替换正确的列名,然后尝试创建触发器,如下所示:

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