我正在编写一个Oracle触发器。该触发器应自动将“ productId”列的值设置为刚插入的行的oid。

我写的触发器是:

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语法!试试这个:

create or replace trigger MyProduct_id_trg
before insert on MyProduct
for each row
begin
   :new.productId := :new.oid;
end;


(注意:在此之前和之后,并带有for each row。)

07-27 13:59