sql – 在Oracle中插入后返回identity列的值

前端之家收集整理的这篇文章主要介绍了sql – 在Oracle中插入后返回identity列的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在插入后返回Oracle 12c中标识列(id)的值?似乎大多数方法都使用序列来获取插入项的id.

解决方法

只需使用RETURNING子句即可.

例如 –

RETURNING identity_id INTO variable_id;

测试用例 –

sql> set serveroutput on
sql> CREATE TABLE t
  2    (ID NUMBER GENERATED ALWAYS AS IDENTITY,text VARCHAR2(50)
  3    );

Table created.

sql>
sql> DECLARE
  2    var_id NUMBER;
  3  BEGIN
  4    INSERT INTO t
  5      (text
  6      ) VALUES
  7      ('test'
  8      ) RETURNING ID INTO var_id;
  9    DBMS_OUTPUT.PUT_LINE('ID returned is = '||var_id);
 10  END;
 11  /
ID returned is = 1

PL/sql procedure successfully completed.

sql>

sql> select * from t;

        ID TEXT
---------- --------------------------------------------
         1 test

sql>

猜你在找的MsSQL相关文章