我正在尝试在触发器中执行已经定义的存储过程。当我尝试执行下面提到的代码时,我收到了这个错误:
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;
这里看起来有什么问题?
答案 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;
/