wfb*_*ale 1 sql oracle triggers
我想创建一个触发器,当其中一个属性变为负数时将删除该行.到目前为止,我有这个,但它似乎不是有效的SQL:
CREATE OR REPLACE TRIGGER ZERO_COPIES_TRIGGER
after
update of counter_attribute
on my_table
referencing new as new
for each row when(new.copies < 0)
begin
delete from my_table where my_table.id = :new.id;
end;
Run Code Online (Sandbox Code Playgroud)
这不会起作用.您无法在由行级触发器操作的表上执行DML.您将收到"变异表"错误.
要获得您想要的结果,最好的办法是使用标记或指示符列来标识要删除的记录.然后,有一个单独的作业或进程或任何实际执行删除.
归档时间: |
|
查看次数: |
512 次 |
最近记录: |