Solución:
Bien. Oracle usa secuencias y valores predeterminados para la funcionalidad IDENTITY en 12c. Por lo tanto, necesita conocer las secuencias para su pregunta.
Primero cree una tabla de identidad de prueba.
CREATE TABLE IDENTITY_TEST_TABLE
(
ID NUMBER GENERATED ALWAYS AS IDENTITY
, NAME VARCHAR2(30 BYTE)
);
Primero, busquemos el nombre de la secuencia que se crea con esta columna de identidad. Este nombre de secuencia es un valor predeterminado en su tabla.
Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT from USER_TAB_COLUMNS
where TABLE_NAME = 'IDENTITY_TEST_TABLE';
para mí, este valor es “ISEQ $$ _ 193606”
inserte algunos valores.
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla');
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('aydın');
luego inserte el valor y busque la identidad.
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla');
SELECT "ISEQ$$_193606".currval from dual;
deberías ver tu valor de identidad. Si quieres hacerlo en un bloque, usa
declare
s2 number;
begin
INSERT INTO IDENTITY_TEST_TABLE (name) VALUES ('atilla') returning ID into s2;
dbms_output.put_line(s2);
end;
El último ID es el nombre de mi columna de identidad.
por favor, compruebe
INSERT INTO yourtable (....)
VALUES (...)
RETURNING pk_id INTO yourtable;
Le ayudará a recuperar la última fila insertada
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)