Oracle
 sql >> база данни >  >> RDS >> Oracle

Извличане на последно вмъкнатата IDENTITY на Oracle

Добре. Oracle използва последователности и стойности по подразбиране за функционалност IDENTITY в 12c. Следователно трябва да знаете за последователностите за вашия въпрос.

Първо създайте тестова таблица за идентичност.

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

Първо, нека намерим името на вашата последователност, което е създадено с тази колона за идентичност. Това име на поредица е стойност по подразбиране във вашата таблица.

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

за мен тази стойност е "ISEQ$$_193606"

вмъкнете някои стойности.

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

след това въведете стойност и намерете самоличността.

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

трябва да видите стойността на вашата идентичност. Ако искате да правите в един блок, използвайте

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

Последният идентификатор е името на колоната ми за самоличност.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Чисто нова производствена база данни

  2. низовият литерал е твърде дълъг - как да присвоите дълги xml данни към типа данни clob в oracle 11g r2

  3. Как да изпълним функция в Oracle с параметри

  4. Oracle копира данни в друга таблица

  5. Разделете varchar на отделни колони в Oracle