使用批处理文件来循环通过Oracle SQL脚本
-
10-07-2019 - |
题
我有被调用接受一些参数的循环中的两个SQL脚本。以下是我目前使用的:
for /l %%i in (1, 1, 51) do (
sqlplus u/p@name @script.sql a%%i.html %%i
sqlplus u/p@name @script.sql b%%i.html %%i
)
一切工作正常,但似乎时间和资源的浪费到两次,每次通过连接。有没有一种方法,我可以简单地登录到sqlplus中,运行for循环,然后退出?我尝试许多替代方案,如将
sqlplus u/p@name
在for循环中,但随后它将在SQL>提示符下简单地挂不执行任何我的两个脚本。
感谢您。
解决方案
您可以创建一个包含你的两个script.sql语句masterscript.sql。 我不知道的唯一的事情是,如果它会在你的变量传递。
MasterScript.sql将包含:
@@script1.sql
@@script2.sql
和既不您的子脚本应包含一个出口。
http://www.orafaq.com/wiki/SQL * Plus_FAQ#What_is_the_difference_between_ .40_and_.40.40.3F
其他提示
尝试这个
( 回声@%查询%用户 )结果 | SQLPLUS用户名/密码@(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(主机= XX.XX.XX.XX)(端口= 152X))(CONNECT_DATA =(SID = ABC)))
不隶属于 StackOverflow