如何通过 DOS 批处理文件运行多个查询,这将创建 plsql 包

Posted

技术标签:

【中文标题】如何通过 DOS 批处理文件运行多个查询,这将创建 plsql 包【英文标题】:how to run multiple queries via DOS batch file, which will create plsql packages 【发布时间】:2013-07-08 12:24:04 【问题描述】:

我已经那么远了:

这是我的“司机”

@Echo Off
sqlplus [login details] @C:\runPackages.sql 
EXIT

在文件 runPackages.sql 我有:

@C:\SqlPackage1.sql
@C:\SqlPackage2.sql
@C:\SqlPackage3.sql

这似乎适用于简单的 Sql 查询,但它不创建包...

感谢您的建议。

【问题讨论】:

你怎么知道它没有创建包?它有什么作用?您收到任何错误消息吗?如果您在 SQL*Plus 中运行 @C:\SqlPackage1.sqlmanually 而不是使用该驱动程序脚本会发生什么? 嗯,它给了我号码......就是这样。像 69 或 6800。不知道,这是什么意思...当我按 ENTER 键时,新数字出现 +1 值... 【参考方案1】:

“嗯,它给了我数字……就是这样。比如 69 或 6800。不知道, 这是什么意思。”

这意味着您没有正确终止 CREATE PACKAGE 脚本。这是 SQL*Plus 告诉您它希望您输入另一行代码的方式。这就是为什么它们也不从驱动程序脚本运行。

end; 之后,您需要一个新行和一个斜杠来执行该语句。像这样

create or replace package package1 as
....
end package1;
/

用斜杠结束每个 CREATE 语句,您的脚本将在没有进一步输入的情况下运行。

由此得出的结论是,我们需要先测试我们的各个程序单元,然后再将它们集成到更高的级别。

【讨论】:

以上是关于如何通过 DOS 批处理文件运行多个查询,这将创建 plsql 包的主要内容,如果未能解决你的问题,请参考以下文章

DOS批量创建多个目录下的文件夹

用bat批处理程序通过DOS命令行删除所有的空文件夹

从 DOS/Windows 批处理文件运行 Sybase SQL 命令

DOS中的特殊符号

如何使批处理BAT文件在后台运行而不显示DOS窗口

运行批处理文件怎么不显示DOS命令窗口