3

我想使用单个批处理文件按顺序执行多个 sql.. IE: sql2 script calls a table created by sql1 script.. etc..

这是我到目前为止的批处理代码..它可以运行单个 sql 文件,但我需要它来运行第一个,然后是下一个..提前致谢。

    @ECHO OFF
echo.
echo.
SET /P uname=Username:
echo.
echo.
SET /P pass=Password:
echo.
echo.
SET /P mydatabase=Database:
echo.
echo.
set oracle_sid=ins

sqlplus -s %uname%/%pass%@%mydatabase% @J:/A/scripts/_TABLES/Table1_.sql \n
sqlplus -s %uname%/%pass%@%mydatabase% @J:/A/scripts/_TABLES/Table2_.sql \n
sqlplus -s %uname%/%pass%@%mydatabase% @J:/A/scripts/_TABLES/Table3_.sql \n
sqlplus -s %uname%/%pass%@%mydatabase% @J:/A/scripts/_TABLES/Table4_.sql \n
sqlplus -s %uname%/%pass%@%mydatabase% @J:/A/scripts/_TABLES/Table5_.sql \n
sqlplus -s %uname%/%pass%@%mydatabase% @J:/A/scripts/_TABLES/Table6_.sql \n
sqlplus exit
pause
4

2 回答 2

9

制作一个“驱动程序”sql脚本。

里面看起来类似于:

@Table1_.sql
@Table2_.sql
@Table3_.sql
@Table4_.sql

然后只需从操作系统调用一次

于 2012-10-01T19:23:30.960 回答
0

或者你可以一起运行它们。

cat Table1_.sql > /tmp/temp.sql
cat Table1_.sql >> /tmp/temp.sql
cat Table1_.sql >> /tmp/temp.sql
sqlplus USERNAME/PASSWORD@DOMAIN @/tmp/temp.sql
于 2015-07-02T12:22:46.220 回答