Oracle - 返回新插入的键值

Jim*_*ans 10 stored-procedures primary-key oracle10g

我们有一个带有主键的表,该表通过表上的触发器插入填充 - 触发器从我们为表创建的序列中获取下一个序列号,并将其用于插入时键的值.现在我们希望能够在插入过程(PL\SQL)中返回该值,类似于SQL Server中的select @@ scope_identity.我一整天都在谷歌上搜索,基本上没有任何结果 - 以前有人成功吗?

谢谢

Ken*_*nan 20

我不知道它是否适用于触发器,但RETURNING子句可能是您正在寻找的:

INSERT INTO my_table (col_1, col_2)
  VALUES ('foo', 'bar')
  RETURNING pk_id INTO my_variable;
Run Code Online (Sandbox Code Playgroud)