5
如何在插入後返回Oracle 12c中標識列(id)的值?看起來像大多數方法使用序列來取回插入項目的ID。在插入Oracle後返回標識列的值
如何在插入後返回Oracle 12c中標識列(id)的值?看起來像大多數方法使用序列來取回插入項目的ID。在插入Oracle後返回標識列的值
只需使用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>