我们有一个带有主键的表,该表通过表上的触发器在插入时填充 - 触发器从我们为表创建的序列中获取下一个序列号,并将其用于插入时键的值。现在我们希望能够在插入过程(PL \ SQL)中返回该值,类似于SQL Server中的select @@ scope_identity。我一整天都在谷歌搜索,基本上没有任何结果 - 以前任何人都成功了吗?
由于
答案 0 :(得分:20)
我不知道它是否适用于触发器,但RETURNING子句可能正是您所寻找的:
INSERT INTO my_table (col_1, col_2)
VALUES ('foo', 'bar')
RETURNING pk_id INTO my_variable;
答案 1 :(得分:0)
我认为您正在寻找可赎回声明。如果你想从Java中获取它,那么这里是javadoc。
答案 2 :(得分:0)
为什么不直接返回the_sequence.currval?