i want to create a batch file in Win NT which invokes a sqlplus and executes a procedure. where can i find information regarding this.
Thanks a lot
You have to write two file one is the batch file and the other is the sql file.I will write the steps below I have also attached an example here
1) create a batch file on NT orclrun.bat as follows
c:\oracle\ora81\bin\sqlplus system/manager @c:\first.sql
2) create a first.sql file as follows
select * from cat;
select user from dual;
Iam creating a batch file in the first step and Iam invoking sqlplus over there and directly in turn executing first.sql from there and all the commands I have stored in first.sql.you can store all ur sql commands over there and I have inserted the spool command over there so that you can verify the result, and offcourse experiment on the batch file like passing parameters to the batch file for username,password that is batch files have parameters from %1 to %8 for example the sqlplus Invoking will look like this
so when you execute the batch file you have to pass parameters like this from the command prompt
orclrun.bat system manager
system will be %1
manager will be %2
It works for
I am not the person who posted the above question, but I used it to work on similar problem and it work just fine.
I created two scripts as you said and everything ran just great.
create or replace procedure update_archive is
insert into archive_data2 select * from archive_data1 where seq_guid in
(select seq_guid from archive_data1 where upper(SUBSTR(controlnumber, -4,4))='001W');
delete from archive_data1 where rownum > 0;
--Thank you, Albert Zaza
echo exec MyProcedure;
)|sqlplus system/manager >MyProcedure.log
"The person who says it cannot be done should not interrupt the person doing it." --Chinese Proverb
Thanks for posting this link. Its very useful and works fine for me.
What does ORACLE_SID = orcl do?
As you may remember now, it sets the instance to which you are trying to connect - in that particular case the name of the instance was "orcl"
Originally Posted by Abhijat
Pablo (Paul) Berzukov
Author of Understanding Database Administration
available at amazon and other bookstores.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
Just an FYI: If you're trying to run sql commands that contain a closing bracket, you'll need to triple delimit them with ^
Originally Posted by LKBrwn_DBA
REM DATETIME1 is in the format MM/DD/YYYY HH24:MI:ss
SET DATETIME1=%date:~-10% %time:~0,8%
echo insert into db_bu_status values ('%ORACLE_SID%', to_date('%DATETIME1%','mm/dd/yyyy hh24:mi:ss'^^^),'Running'^^^);
) | sqlplus system/manager@database > sqlplus_log.txt
Click Here to Expand Forum to Full Width