oracle 存储过程中查询序列值并用变量接收

CREATE OR REPLACE PROCEDURE "TEST" ( PARAM_ID IN NUMBER )
is
v_sv number;

BEGIN
v_sv := SEQ_TEST.NEXTVAL;
END ;
这么写的话报错
PLS-00357: 在此上下文中不允许表,视图或序列引用 'SEQ_TEST.NEXTVAL'
请问应该怎么写啊?

第1个回答  2011-05-04
select seq_test.nextval into v_sv from dual;
查询序列当前值、查询序列下一个值,都不能直接写序列.nextval,而是写成SQL表达式的形式方可执行
第2个回答  2011-05-04
select seq_test.nextval into v_sv from dual;本回答被提问者采纳
第3个回答  2011-05-04
select SEQ_TEST.NEXTVAL into v_sv from dual ;
好像是这样,好久没写,忘记了~~~
相似回答