sql >> Database >  >> RDS >> Oracle

Herstel Oracle laatst ingevoerde IDENTITEIT

We zullen. Oracle gebruikt reeksen en standaardwaarden voor IDENTITY-functionaliteit in 12c. Daarom moet u weten over reeksen voor uw vraag.

Maak eerst een testidentiteitstabel.

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

Laten we eerst uw reeksnaam vinden die is gemaakt met deze identiteitskolom. Deze reeksnaam is een standaardwaarde in uw tabel.

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

voor mij is deze waarde "ISEQ$$_193606"

voeg enkele waarden in.

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

voer dan waarde in en vind identiteit.

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

je zou je identiteitswaarde moeten zien. Als je het in één blok wilt doen, gebruik dan

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

Laatste ID is de naam van mijn identiteitskolom.



  1. Het ACID-model voor databasebeheer begrijpen

  2. Hoe PostgreSQL te monitoren met Nagios

  3. PostgreSQL proceduretaal C niet gevonden

  4. mysql voorbereide instructiefout:MySQLSyntaxErrorException