4

I would like to use a single batch file to execute multiple sql in a sequence.. IE: sql2 script calls a table created by sql1 script.. etc..

here is the batch code I have so far.. it works to run a single sql file but I need it to run the first one and then then next.. thanks in advance.

    @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

2 Answers 2

10

make a 'driver' sql script.

inside it would look similar to this:

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

then just call this one once from the OS

Sign up to request clarification or add additional context in comments.

2 Comments

How could I pass parameters received in this SQL file (&1,&2 and &3 for example) to the four files launched ?
To run the 'driver' SQL script open a command-line and run with SQLPlus: "sqlplus username/password@sid @{path-to-driver-sql-script}\driver.sql"
0

Or you can run them all together.

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.