Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
如何在一个sqlscript for Oracle中运行多个语句_Oracle - Fatal编程技术网

如何在一个sqlscript for Oracle中运行多个语句

如何在一个sqlscript for Oracle中运行多个语句,oracle,Oracle,我试图在一个sql文件中运行一些语句,但它不起作用 declare new_sequence INTEGER; begin select LAST_NUMBER + 1 into new_sequence from user_sequences where SEQUENCE_NAME = 'MLTS_SEQUENCE'; execute immediate 'Create sequence Table_SEQ start with ' |

我试图在一个sql文件中运行一些语句,但它不起作用

declare 
  new_sequence INTEGER;
begin 
  select LAST_NUMBER + 1 
    into new_sequence 
    from user_sequences 
   where SEQUENCE_NAME = 'MLTS_SEQUENCE';

  execute immediate 'Create sequence Table_SEQ start with '
      || new_sequence ||' increment by 1';
end;
如果我在eclipse数据库插件中使用“作为一条语句执行”选项运行这个块,它就会工作

如何将sqlscript标记为将这些块作为一条语句运行,以便稍后使用sqlplus或eclipse以外的其他工具执行脚本


我试着在前面和/或在最后走,但也没有成功。

只要它在自己的行上并左对齐,在sql*plus中应该可以:

SQL> create sequence MLTS_SEQUENCE start with 1 cache 20;

Sequence created.

SQL> select MLTS_SEQUENCE.nextval from dual;

   NEXTVAL
----------
         1

SQL> declare
  2    new_sequence INTEGER;
  3  begin
  4    select LAST_NUMBER + 1
  5      into new_sequence
  6      from user_sequences
  7     where SEQUENCE_NAME = 'MLTS_SEQUENCE';
  8
  9    execute immediate 'Create sequence Table_SEQ start with '
 10        || new_sequence ||' increment by 1';
 11  end;
 12  /

PL/SQL procedure successfully completed.

SQL> select Table_SEQ.nextval from dual;

   NEXTVAL
----------
        22

sqlplus的正确格式如下所示:

declare
  ...
begin
  ...
end;
/

GO是sybase/sqlserver语法。结尾的“/”是正确的(它必须是一行中的第一个字符)。当您在块“但它不工作”之后使用/通过sqlplus运行时,发生了什么错误?这还不够详细。如果您希望我们帮助您,您需要描述发生了什么,包括您收到的任何错误消息。另外,请清楚你在哪里运行什么。谢谢你是对的,它确实有效,我的脚本中一定有一些错误。它是否也适用于squirrel/eclipse等。?因为在这里,我得到了“PLS-00103:遇到符号“文件结束”时,应满足以下条件之一:=.(@%;非空范围默认字符“@LolaParola,该错误表明您已输入”在
END
之后,即您在下一行有
END
然后
/
?现在一切正常,谢谢!必须将语句分隔符从;改为/在松鼠的“会话属性->sql”中。注释呢?可以在
foo.sql
中嵌入注释吗?语法是什么?谢谢!