Kam*_* K. 22 database oracle triggers plsql
我试图创建多个触发器,只需将一个脚本上传到Oracle DB/APEX工作区,并运行一次.
这是一个简短的脚本,与我试图使用的脚本相比:
create or replace trigger "BI_TEC_ROLES"
before insert on "TEC_ROLES"
for each row
begin
if :NEW."ROLE_ID" is null then
select "TEC_ROLES_SEQ".nextval into :NEW."ROLE_ID" from dual;
end if;
end;
create or replace trigger "BI_TEC_STATUSES"
before insert on "TEC_STATUSES"
for each row
begin
if :NEW."STATUS_ID" is null then
select "TEC_STATUSES_SEQ".nextval into :NEW."STATUS_ID" from dual;
end if;
end;
create or replace trigger "BI_TEC_SUBS"
before insert on "TEC_SUBS"
for each row
begin
if :NEW."SUB_ID" is null then
select "TEC_SUBS_SEQ".nextval into :NEW."SUB_ID" from dual;
end if;
end;
Run Code Online (Sandbox Code Playgroud)
我已经尝试将GO放在每个单独的块之间,但仍然只创建第一个触发器然后给出第二个说法的错误:
Error(7,1): PLS-00103: Encountered the symbol "CREATE"
Run Code Online (Sandbox Code Playgroud)
我希望有可能做到这一点.非常感谢您的时间和兴趣=)
Wol*_*olf 53
在每次触发后在新行上添加正斜杠以在缓冲区中执行命令:
create trigger...
...
end;
/
Run Code Online (Sandbox Code Playgroud)