在SQL 11和Oracle 11g中使用sql脚本

时间:2013-01-15 18:19:57

标签: sql oracle

我想将sql脚本文件导入SQL Plus。我找到了一个例子并试着像这样:

SQL>START z:myscript.sql

但它不起作用。 SQL Plus窗口只显示“35”并突出显示光标,表示我可以继续输入(???)

3 个答案:

答案 0 :(得分:1)

创建代码对象的每个语句(例如,CREATE PROCEDURE,CREATE FUNCTION,CREATE PACKAGE,CREATE TYPE)都需要在其后面加一个斜杠(“/”)才能执行。如果以分号结束,则将执行正常的SQL语句,但由于PL / SQL代码行总是以分号结尾,因此不能将其用作执行代码对象的指示符。

从你自己的跟进中,听起来你在脚本中有多个这样的语句,并且在最后一个之后输入了斜杠。这会导致SQLPlus尝试将脚本的整个文本作为单个语句执行,这可能会失败。

你想要这样的东西:

CREATE TYPE my_type_1
  ... your code here ...
/

CREATE TYPE my_type_2
  ... your code here ...
/

答案 1 :(得分:0)

您是否在提示符中尝试@filename

 >@runscript.sql

答案 2 :(得分:0)

从命令行输入

 SQLPLUS username/password@TNSNAME @myscript.sql

这将使用指定的用户名和密码连接到TNSNAME并执行myscript.sql文件。如果脚本名称包含空格,则可以使用双引号。