sql >> Databáze >  >> RDS >> Oracle

Oracle:sekvence MySequence.currval ještě není v této relaci definována

mysequence.CURRVAL vrátí nejnovější hodnotu, která byla získána ze sekvence mysequence v vaší session, a proto není definován, dokud nezískáte hodnotu pomocí mysequence.NEXTVAL alespoň jednou v relaci. Účelem CURRVAL je umožnit vám použít hodnotu sekvence více než jednou ve vašem kódu, např.

insert into parent (parent_id, ...) values (mysequence.NEXTVAL, ...);

insert into child (parent_id, ...) values (mysequence.CURRVAL, ...);

Pokud CURRVAL právě vrátil poslední hodnotu získanou ze sekvence pomocí any session, pak by to bylo ve výše uvedeném kódu k ničemu a ve skutečnosti by mohlo vést k poškození dat!



  1. 2 způsoby, jak získat informace o oddílu pro tabulku v SQL Server (T-SQL)

  2. T-SQL Úterý #33:Trikové záběry:Schéma Switch-A-Roo

  3. Cizí klíč MySQL InnoDB mezi různými databázemi

  4. Výpočet počtu celých měsíců mezi dvěma daty v SQL