从insert语句返回一个值

Max*_*ian 6 vb.net oracle asp.net-2.0

使用OLEDB从ASP.NET 2.0(VB)应用程序使用Oracle 9i数据库.有没有办法让insert语句返回一个值?我有一个序列设置为数字条目进入数据库,但我需要在插入后返回值,所以我可以对我刚刚在代码隐藏VB中输入的集合进行一些操作.

Ton*_*ews 8

一些可能性:

1)使用RETURNING子句:

INSERT INTO emp (empno, ename) VALUES (emp_seq.NEXTVAL, 'ANDREWS')
RETURNING empno INTO :variable;
Run Code Online (Sandbox Code Playgroud)

2)使用CURRVAL序列:

INSERT INTO emp (empno, ename) VALUES (emp_seq.NEXTVAL, 'ANDREWS');
SELECT emp_seq.CURRVAL INTO :variable FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

CURRVAL返回会话生成的最后一个序列值.