Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Sekwencje Oracle:CURRVAL nie jest tutaj dozwolone?

Opublikowałeś przykładowy kod, więc nie jest jasne, co chcesz osiągnąć. Jeśli chcesz poznać przypisaną wartość, powiedzmy, aby przejść do innej procedury, możesz zrobić coś takiego:

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>

Edytuj

Możemy użyć klauzuli RETURNING, aby uzyskać wartości dowolnej kolumny, w tym tych, które zostały ustawione na wartości domyślne lub przez kod wyzwalacza.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd zbyt małego bufora podczas używania XMLAgg/XMLElement

  2. Jak otworzyć dane XML w Oracle

  3. Jak sprawdzić, czy baza danych Oracle obsługuje autoinkrementację?

  4. oracle systimestamp (sysdate) do milisekund

  5. Nieprawidłowy identyfikator w podwójnie zagnieżdżonym zapytaniu z ORDER BY i ROWNUM