Tốt. Oracle sử dụng trình tự và giá trị mặc định cho chức năng IDENTITY trong 12c. Do đó, bạn cần biết về trình tự cho câu hỏi của mình.
Đầu tiên, hãy tạo một bảng nhận dạng thử nghiệm.
CREATE TABLE IDENTITY_TEST_TABLE
(
ID NUMBER GENERATED ALWAYS AS IDENTITY
, NAME VARCHAR2(30 BYTE)
);
Đầu tiên, hãy tìm tên trình tự của bạn được tạo với cột nhận dạng này. Tên trình tự này là giá trị mặc định trong bảng của bạn.
Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT from USER_TAB_COLUMNS
where TABLE_NAME = 'IDENTITY_TEST_TABLE';
đối với tôi giá trị này là "ISEQ $$ _ 193606"
chèn một số giá trị.
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla');
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('aydın');
sau đó chèn giá trị và tìm danh tính.
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla');
SELECT "ISEQ$$_193606".currval from dual;
bạn sẽ thấy giá trị nhận dạng của bạn. Nếu bạn muốn thực hiện trong một khối, hãy sử dụng
declare
s2 number;
begin
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla') returning ID into s2;
dbms_output.put_line(s2);
end;
ID cuối là tên cột danh tính của tôi.