Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql Oracle PL-SQL序列_Plsql - Fatal编程技术网

Plsql Oracle PL-SQL序列

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

你好

我试图在查询中使用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 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;