sql >> Database teknologi >  >> RDS >> Oracle

Oracle:sekvens MySequence.currval er endnu ikke defineret i denne session

mysequence.CURRVAL returnerer den seneste værdi, der blev opnået fra sekvens mysequence i din session, og er derfor ikke defineret, før du har opnået en værdi ved hjælp af mysequence.NEXTVAL mindst én gang i sessionen. Formålet med CURRVAL er at lade dig bruge sekvensværdien mere end én gang i din kode, f.eks.

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

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

Hvis CURRVAL lige returnerede den sidste værdi opnået fra sekvensen af ​​enhver session, så ville det være ubrugeligt i ovenstående kode, og faktisk kunne føre til datakorruption!



  1. TIMESTAMP() Eksempler – MySQL

  2. Tilslutning til Oracle Database ved hjælp af SQL Server Integration Services

  3. Del forbindelse til postgres db på tværs af processer i Python

  4. Udforskning af lavprioritetslås-venteindstillinger i SQL Server 2014 CTP1