Gdybyś tylko chciał wiedzieć następny lub wartości bieżącej sekwencji, w można po prostu użyć zapytania sql:
SELECT HIBERNATE_SEQUENCE.nextval FROM dual;
SELECT HIBERNATE_SEQUENCE.currval FROM dual;
sposób, aby wiedzieć, jak postępować w PL/SQL (przed 11g):
SET SERVEROUTPUT ON
DECLARE
nextId NUMBER;
BEGIN
SELECT HIBERNATE_SEQUENCE.nextval INTO nextId FROM dual;
dbms_output.put_line(nextId);
END;
od 11g: jest prostszy sekwencja do wykorzystania w plsql jako:
SET serveroutput ON
DECLARE
nextId NUMBER := HIBERNATE_SEQUENCE.nextval;
BEGIN
dbms_output.put_line(nextId);
END;
lub po prostu
BEGIN
dbms_output.put_line(HIBERNATE_SEQUENCE.nextval);
END;
Więcej szczegółów: Click here
+1 Ale od 11g można uzyskać bezpośredni dostęp do sekwencji w PL/SQL. Możesz zamienić wiersz 5 na 'nextID: = HIBERNATE_SEQUENCE.nextval;'. –
Ya dzięki @jonearles, zaktualizowałem odpowiedź. – ajmalmhd04