Добре. 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;
Последният идентификатор е името на колоната ми за самоличност.