我今天试图遵循一些指示,并以评论
开头
REM In SQLPlus I manually copy in each line and execute it.
这很好,我没有SQLPlus,我有SQLDeveloper。粘贴的行是以下类型:
@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;
...等
当我在SQL窗口中尝试时,它不喜欢它。我手动打开并粘贴在命令中,对此也不满意。 (我是否提到我对这个应用程序也不是很好,也不是Oracle,但其他人今天都出来了?)那里的文件以代码开头:
rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');
一位同事确实拥有SQLPlus,我们一起解决了它。但是,有没有办法让我用SQLDeveloper做到这一点,所以如果他也出局我就不会卡住?
答案 0 :(得分:61)
在SQL Developer中运行脚本:
@"\Path\Scriptname.sql"
(如果有空格,您只需要引号)
您可以设置默认路径:工具菜单>偏好>数据库>工作表>选择要查找脚本的默认路径
答案 1 :(得分:2)
我正在查看帮助文件,并在SQL Developer Concepts and Usage->使用SQL Worksheet->脚本运行器中找到了如何执行此操作。
基本上,你必须在文件名之前加上@。例如@C:\ MyScript \ Script.sql。
然后你可以用这种方式运行一批。请注意,该命令似乎不喜欢文件路径中的空格。
答案 2 :(得分:1)
对于您需要运行的每个文件,找到它并将其放入SQLDeveloper。运行脚本(F5),然后提交(F11)。这适用于某些脚本,但不是全部。
答案 3 :(得分:0)
最近,SQL Developer附带了另一个名为sqlcl的工具。这有点像SQLPlus,但实际上是使用SQL Developer中的一些位来提供兼容的命令行/脚本类型接口。
您可以使用它来执行sqlplus样式命令,而无需对抗SQL Developer样式GUI的额外内容,这会让人感到困惑。
在SQL Developer所在的任何地方寻找它。如果您没有,可以下载并将其部署到sqldeveloper文件夹中。
答案 4 :(得分:0)
您可以使用sqlcl来完成此操作,就像在命令行中使用SQL PLUS一样:
sqlcl user/password@host:port:sid @file.sql
文件应位于sqlcl所在的目录中。
如果您尝试对sql文件执行很多指令,则此解决方案是最佳选择。
答案 5 :(得分:-2)
这样就可以了:
begin
procedure_name ('parameter1', 'parameter2');
end;
/