0

我想将一个 sql 脚本文件导入 SQL Plus。我找到了一个示例并尝试像这样进行操作:

SQL>START z:myscript.sql

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

4

3 回答 3

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 ...
/
于 2013-01-15T20:17:53.227 回答
0

您是否在提示中尝试过@filename,例如

 >@runscript.sql
于 2013-01-15T18:25:52.223 回答
0

在命令行中,键入

 SQLPLUS username/password@TNSNAME @myscript.sql

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

于 2013-01-15T18:32:33.083 回答