Oracle SQL触发器用于自动设置列值

Kev*_*vin 4 sql oracle triggers

我正在写一个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; 
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.

有人可以帮我弄这个吗?

问候.

Ton*_*ews 11

看起来您正在尝试在Oracle数据库上使用SQL Server语法!试试这个:

create or replace trigger MyProduct_id_trg 
before insert on MyProduct
for each row
begin 
   :new.productId := :new.oid;
end; 
Run Code Online (Sandbox Code Playgroud)

(注意:之前没有,之后for each row.)