sql >> データベース >  >> RDS >> Oracle

Oracleに挿入した後に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>
    



    1. データベースの最後のN行を順番に取得しますか?

    2. 正しいユーザー名とパスワードを指定して、ORA-01017を取得します。無効なユーザー名/パスワード。ログオンが拒否されました

    3. PostgreSQL9.4の改善点はほとんどありません

    4. phpMyAdminを使用してデータベースを複製する方法