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
set ORACLE_SID=orcl
c:\oracle\ora81\bin\sqlplus system/manager @c:\first.sql
2) create a first.sql file as follows
spool c:\result.txt
select * from cat;
select user from dual;
exec procedurename;
spool off;
exit;
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
sqlplus %1/%2
so when you execute the batch file you have to pass parameters like this from the command prompt
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.
--File1:
set ORACLE_SID=mysid
D:\oracle\product\10.2.0\db_1\BIN\sqlplus.exe username/password@mspdev
@d:\schedules\archive_data1.sql
--File2:
create or replace procedure update_archive is
begin
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;
end update_archive;
/
exec update_archive;
exit;
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.
Bookmarks