Plsql Oracle PL-SQL序列
你好 我试图在查询中使用pl/sql变量(我是一个sql server人员),下面是我的代码:Plsql Oracle PL-SQL序列,plsql,Plsql,你好 我试图在查询中使用pl/sql变量(我是一个sql server人员),下面是我的代码: DECLARE nextvalue integer; BEGIN SELECT submission_seq.currval INTO nextvalue FROM DUAL; dbms_output.put_line('test'); dbms_output.put_line(nextvalue); /* ERROR OCCURS HER
DECLARE
nextvalue integer;
BEGIN
SELECT submission_seq.currval INTO nextvalue FROM DUAL;
dbms_output.put_line('test');
dbms_output.put_line(nextvalue);
/* ERROR OCCURS HERE */
SELECT nextvalue, id FROM TABLE_STATUS;
END;
我正在获取PLS-00428:此SELECT语句中应包含INTO子句
我不明白为什么我会得到这个,因为我用一个来填充下一个值,它确实包含了我想要的
有人能帮我吗
蒂亚
coson这是因为,正如消息所描述的,select语句希望您将结果分配到一个变量中 尝试:
会议开始了 改变这个
SELECT submission_seq.currval INTO nextvalue FROM DUAL;
为此
SELECT submission_seq.nextval INTO nextvalue FROM DUAL;
如果您使用的是Oracle 11g,则无需再从dual中进行选择。下面的代码片段将起作用
/* Formatted on 1/25/2013 4:35:00 PM */
DECLARE
nextvalue NUMBER := submission_seq.currval;
BEGIN
DBMS_OUTPUT.put_line ('test');
DBMS_OUTPUT.put_line (nextvalue);
END;
试试这个:
DECLARE
nextvalue integer;
BEGIN
nextvalue := submission_seq.currval;
dbms_output.put_line('test');
dbms_output.put_line(nextvalue);
SELECT nextvalue, id FROM TABLE_STATUS;
END;
这当然更有意义。我认为“table_status%type”指的是table_status中的一列。是的,您希望变量的类型与您试图将其数据保存在id中的列的类型相同。
DECLARE
nextvalue integer;
BEGIN
nextvalue := submission_seq.currval;
dbms_output.put_line('test');
dbms_output.put_line(nextvalue);
SELECT nextvalue, id FROM TABLE_STATUS;
END;