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

Oracle sekvence:CURRVAL zde není povoleno?

Odeslali jste nějaký ukázkový kód, takže není jasné, čeho se snažíte dosáhnout. Pokud chcete znát přiřazenou hodnotu, řekněme pro přechod na jinou proceduru, můžete udělat něco takového:

SQL> var dno number
SQL> insert into dept (deptno, dname, loc)
  2      values (deptno_seq.nextval, 'IT', 'LONDON')
  3      returning deptno into :dno
  4  /

1 row created.

SQL> select * from dept
  2  where deptno = :dno
  3  /

    DEPTNO DNAME          LOC
---------- -------------- -------------
        55 IT             LONDON

SQL>

Upravit

Klauzuli RETURNING můžeme použít k získání hodnot libovolného sloupce, včetně těch, které byly nastaveny na výchozí hodnoty nebo pomocí spouštěcího kódu.



  1. Mysql výběrový seznam po konkrétním ID

  2. Python cx_Oracle SQL s proměnnou řetězce vazby

  3. proč uložená procedura volaná z sqlalchemy nefunguje, ale volání z workbenche funguje?

  4. Rozdíl mezi notací Oracle plus (+) a notací ansi JOIN?