Oracle SQL触发器,用于自动设置列值 [英] Oracle SQL trigger for automatically set a column value
本文介绍了Oracle SQL触发器,用于自动设置列值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写一个Oracle触发器.此触发器应自动将"productId"列的值设置为刚插入的行的oid.
I am writing a Oracle trigger. This trigger should automatically set the value of the column "productId" to be the oid of the row just inserted.
我写的触发器是:
create or replace trigger MyProduct_id_trg
after insert on MyProduct
begin
update MyProduct set productId = inserted.oid where oid = inserted.oid;
end;
但是,这不起作用.
有人可以帮我吗?
致谢.
推荐答案
好像您正在尝试在Oracle数据库上使用SQL Server语法!试试这个:
Looks like you are trying to use SQL Server syntax on an Oracle database! Try this:
create or replace trigger MyProduct_id_trg
before insert on MyProduct
for each row
begin
:new.productId := :new.oid;
end;
(注意:之前之前,而不是之后,并带有for each row
.)
(Note: before not after, and with for each row
.)
这篇关于Oracle SQL触发器,用于自动设置列值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文