我是Oracle新手。我怎樣才能設置這個變量並顯示它的值?如何在Oracle中選擇一個變量的值?
declare nextId number;
begin
select HIBERNATE_SEQUENCE.nextval into nextId from dual;
select nextId from dual;
end;
它抱怨說在這個SELECT語句中有一個INTO子句。
我是Oracle新手。我怎樣才能設置這個變量並顯示它的值?如何在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進行(11克前):
SET SERVEROUTPUT ON
DECLARE
nextId NUMBER;
BEGIN
SELECT HIBERNATE_SEQUENCE.nextval INTO nextId FROM dual;
dbms_output.put_line(nextId);
END;
由於11克:它是在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
在PL/SQL塊,你可以不寫SQL語句像
select nextId from dual;
這就是爲什麼它顯示你的錯誤。順便說一句,你完全不需要這個聲明。要顯示它的輸出你應該使用 -
DBMS_OUTPUT.PUT_LINE(nextId);
爲了能夠顯示它您需要編寫申報塊之前,下面的語句 -
SET SERVEROUTPUT ON;
哥們你救了我的命,謝謝! – ExtremeSwat
+1但是自11g以來,您可以直接訪問PL/SQL中的序列。你可以用'nextID:= HIBERNATE_SEQUENCE.nextval;'替換第5行。 –
雅謝謝@jonearles,我已經更新了答案。 – ajmalmhd04