Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Oracle中插入后返回标识列的值_Sql_Oracle_Identity Column_Oracle12c_Sql Returning - Fatal编程技术网

Sql 在Oracle中插入后返回标识列的值

Sql 在Oracle中插入后返回标识列的值,sql,oracle,identity-column,oracle12c,sql-returning,Sql,Oracle,Identity Column,Oracle12c,Sql Returning,插入后如何返回Oracle 12c中标识列(id)的值?似乎大多数方法都使用sequence来获取插入项的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

插入后如何返回Oracle 12c中标识列(id)的值?似乎大多数方法都使用sequence来获取插入项的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>