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

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

解决方法

只需使用RETURNING子句即可.

例如 –

  1. RETURNING identity_id INTO variable_id;

测试用例 –

  1. sql> set serveroutput on
  2. sql> CREATE TABLE t
  3. 2 (ID NUMBER GENERATED ALWAYS AS IDENTITY,text VARCHAR2(50)
  4. 3 );
  5.  
  6. Table created.
  7.  
  8. sql>
  9. sql> DECLARE
  10. 2 var_id NUMBER;
  11. 3 BEGIN
  12. 4 INSERT INTO t
  13. 5 (text
  14. 6 ) VALUES
  15. 7 ('test'
  16. 8 ) RETURNING ID INTO var_id;
  17. 9 DBMS_OUTPUT.PUT_LINE('ID returned is = '||var_id);
  18. 10 END;
  19. 11 /
  20. ID returned is = 1
  21.  
  22. PL/sql procedure successfully completed.
  23.  
  24. sql>
  25.  
  26. sql> select * from t;
  27.  
  28. ID TEXT
  29. ---------- --------------------------------------------
  30. 1 test
  31.  
  32. sql>

猜你在找的MsSQL相关文章