27

我今天试图遵循一些指示,它从评论开始


REM  In SQLPlus I manually copy in each line and execute it.

很好,我没有 SQLPlus,我有 SQLDeveloper。粘贴的行属于以下类型:


@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;

...ETC。

当我在 SQL 窗口中尝试时,它不喜欢它。我手动打开并粘贴命令,它也不满意。(我有没有提到我对这个应用程序和 Oracle 不太擅长,但是今天其他人都出去了?)那里的文件以如下代码开头:


rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');

一位同事确实有 SQLPlus,我们一起解决了它。但是,有没有办法让我用 SQLDeveloper 做到这一点,所以如果他也出去了,我不会被困住吗?

4

6 回答 6

63

在 SQL Developer 中运行脚本:

@"\Path\Scriptname.sql"

(如果有空格,你只需要引号)

您可以设置默认路径:工具菜单 > 首选项 > 数据库 > 工作表 > 选择默认路径以查找脚本

于 2010-09-07T22:20:22.330 回答
2

我正在查看帮助文件,并在 SQL Developer Concepts and Usage->Using the SQL Worksheet->Script Runner 中找到了如何执行此操作。

基本上,您必须在文件名前加上@。例如@C:\MyScript\Script.sql。

然后,您可以通过这种方式运行一批。请注意,该命令似乎不喜欢文件路径中的空格。

于 2009-12-16T20:52:45.523 回答
1

对于您需要运行的每个文件,找到它并将其放入 SQLDeveloper。运行脚本 (F5),然后提交 (F11)。这适用于某些脚本,但不是全部。

于 2008-11-14T04:35:50.733 回答
1

如今,SQL Developer 附带了另一个名为sqlcl的工具。这有点像 SQLPlus,但实际上是使用 SQL Developer 中的一些位来提供兼容的命令行/脚本类型接口。

您将能够使用它来执行 sqlplus 风格的命令,而无需与 SQL Developer 风格的 GUI 的额外内容作斗争,这可能会让人感到困惑。

在 SQL Developer 所在的位置下查找它。如果您没有它,您可以下载它并将其部署到您的 sqldeveloper 文件夹中。

于 2017-11-11T13:51:43.530 回答
1

您可以使用 sqlcl 执行此操作,其方式与使用 SQL PLUS 执行此操作的方式相同,从命令行:

sqlcl user/password@host:port:sid @file.sql

文件应该在 sqlcl 所在的同一目录中。

如果您尝试在 sql 文件上执行大量指令,此解决方案是最佳选择。

于 2019-01-16T20:35:11.673 回答
-2

这会做到:

begin
    procedure_name ('parameter1', 'parameter2');
end;
/
于 2008-11-14T02:33:34.070 回答