我是Oracle的新手。如何设置此变量并显示其值?

declare nextId number;
begin
        select HIBERNATE_SEQUENCE.nextval into nextId from dual;
        select nextId from dual;
end;

它提示此SELECT语句中应有一个INTO子句。

最佳答案

如果您只想知道序列的下一个或当前值,
您可以简单地使用sql查询:

SELECT HIBERNATE_SEQUENCE.nextval FROM dual;
SELECT HIBERNATE_SEQUENCE.currval FROM dual;

要知道如何在pl/sql中进行操作(11g之前):
SET SERVEROUTPUT ON
DECLARE
     nextId NUMBER;
BEGIN
     SELECT HIBERNATE_SEQUENCE.nextval INTO nextId FROM dual;
     dbms_output.put_line(nextId);
END;

从11g开始:在plsql中使用以下顺序更简​​化:
SET serveroutput ON
DECLARE
     nextId NUMBER := HIBERNATE_SEQUENCE.nextval;
BEGIN
     dbms_output.put_line(nextId);
END;

或简单地
BEGIN
     dbms_output.put_line(HIBERNATE_SEQUENCE.nextval);
END;

更多详细信息:Click here

10-04 11:17