Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Odzyskaj ostatnio wstawioną tożsamość Oracle

Dobrze. Oracle używa sekwencji i wartości domyślnych dla funkcji IDENTITY w 12c. Dlatego musisz znać sekwencje dla swojego pytania.

Najpierw utwórz testową tabelę tożsamości.

CREATE TABLE IDENTITY_TEST_TABLE
(
  ID NUMBER GENERATED ALWAYS AS IDENTITY 
, NAME VARCHAR2(30 BYTE) 
);

Najpierw znajdźmy nazwę sekwencji, która jest tworzona z tą kolumną tożsamości. Ta nazwa sekwencji jest wartością domyślną w Twojej tabeli.

Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT from USER_TAB_COLUMNS
where TABLE_NAME = 'IDENTITY_TEST_TABLE';

dla mnie ta wartość to „ISEQ$$_193606”

wstaw kilka wartości.

INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla');
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('aydın');

następnie wstaw wartość i znajdź tożsamość.

INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla');
 SELECT "ISEQ$$_193606".currval from dual; 

powinieneś zobaczyć swoją wartość tożsamości. Jeśli chcesz zrobić w jednym bloku, użyj

declare
   s2 number;
 begin
   INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla') returning ID into s2;
   dbms_output.put_line(s2);
 end;

Ostatni identyfikator to nazwa mojej kolumny tożsamości.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podziel adres IPv4 na 4 liczby w Oracle sql

  2. Zaktualizuj zapytanie if dla Oracle

  3. 2 sposoby zwracania wierszy zawierających tylko znaki niealfanumeryczne w Oracle

  4. Zip przy użyciu procedury składowanej Oracle

  5. Co oznacza %Type w Oracle sql?