sql >> Database teknologi >  >> RDS >> Oracle

Returnerer værdien af ​​identitetskolonnen efter indsættelse i Oracle

Du skal blot bruge RETURNERING klausul.

For eksempel -

RETURNING identity_id INTO variable_id;

Testcase -

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>



  1. Henter datoliste i et område i PostgreSQL

  2. Oracle/SQL:Hvorfor forespørger SELECT * FROM records WHERE rownum>=5 AND rownum <=10 - returnerer nul rækker

  3. MySQL SOUNDEX() Eksempler

  4. 2 måder at returnere rækker, der kun indeholder ikke-alfanumeriske tegn i MariaDB