日期:2014-05-17  浏览次数:20863 次

如何实现在Oracle插入一条记录返回主键
如题
ps:该主键不是序列,只是普通的自增列

------解决方案--------------------
SQL> set serveroutput on
SQL> declare
2 v_id test.id%type;
3 begin
4 insert into test values(7,'AC米兰') returning id into v_id;
5 dbms_output.put_line(v_id);
6 end;
7 /
7

PL/SQL 过程已成功完成。

SQL>
------解决方案--------------------
探讨
我现在写成存储过程,但运行不起来,sql语句好像不对

------解决方案--------------------
探讨
另外,关于我的写法,我之所以用动态sql语句,是因为sql语句我是准备从程序里传过来的,但单单动态的insert语句还行,一加上returning XX into XX 这种就不行了,是不是我动态语句写的有问题呢?