我想将sql脚本文件导入SQL Plus。我找到了一个例子并试着像这样:
SQL>START z:myscript.sql
但它不起作用。 SQL Plus窗口只显示“35”并突出显示光标,表示我可以继续输入(???)
答案 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文件。如果脚本名称包含空格,则可以使用双引号。