【发布时间】:2010-12-15 03:05:43
【问题描述】:
是否可以在触发器中执行存储过程?
谢谢
【问题讨论】:
-
如果我自己执行它,那么它会起作用。我想创建一个触发器,当字段中有值时它将执行它
标签: sql oracle stored-procedures execute
是否可以在触发器中执行存储过程?
谢谢
【问题讨论】:
标签: sql oracle stored-procedures execute
在 SQL Server 中是这样。您使用的是什么 DBMS?
ETA:甲骨文,嗯?我没有个人经验,但this 似乎表明你可以。我通过谷歌搜索“oracle 触发器存储过程”找到了它。
【讨论】:
是的,像这样:
create or replace trigger trg
after insert on emp
for each row
begin
myproc(:new.empno, :new.ename);
end;
【讨论】:
for each row 部分。
for each row)!
execute immediate 将用于动态运行过程。即,如果您在触发器触发之前不知道要运行的过程的名称 - 这不是典型的。
是的,你可以。请记住,触发器可以针对受 DML 触发器影响的每一行触发。所以你的存储过程应该被优化,否则你可能会遇到性能问题。触发器是个好东西,但您只需要记住使用它们时可能出现的性能问题。
【讨论】:
是的,您可以从触发器触发过程。 但是,请记住触发器和程序 e 不应访问同一个表。
【讨论】: