Processing values from Oracle procedure


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Processing values from Oracle procedure
# 1  
Old 02-04-2013
Processing values from Oracle procedure

Hi all,

My oracle procedure returns more than one value.

i need to get one value at a time upto ending value ina shell script.

Please help me.....
# 2  
Old 02-04-2013
Code:
Advice for forum posts, general:

To obtain the best answers quickly for processing datasets --
extracting, transforming, filtering, you should, after having
searched for answers (man pages, Google, etc.):

1. Post representative samples of your data (i.e.  data that
should "succeed" and data that should "fail")

2. Post what you expect the results to be, in addition to
describing them.  Be clear about how the results are to be
obtained, e.g.  "add field 2 from file1 to field 3 from file2",
"delete all lines that contain 'possum', etc. 

3. Post what you have attempted to do so far.  Post scripts,
programs, etc.  within CODE tags.  If you have a specific
question about an error, please post the shortest example of the
code, script, etc. that exhibits the problem. 

4. Place the data and expected output within CODE tags, so that
they are more easily readable. 

Special cases, exceptions, etc., are very important to include
in the samples.

--
Thanks to drl
This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 02-04-2013
Consider the following code:

Code:
sqlplus -s <<! | while IFS= read -r; do printf 'argument: %s\n' "$REPLY"; done
/ as sysdba
set pages 0 feed off
select rownum from dual connect by rownum <= 10;
!

Or, if you don't like it all on one line:

Code:
sqlplus -s <<! | 
/ as sysdba
set pages 0 feed off
select rownum from dual connect by rownum <= 10;
!
while IFS= read -r; do 
  printf 'argument: %s\n' "$REPLY" 
done

It produces:

Code:
argument:        1
argument:        2
argument:        3
argument:        4
argument:        5
argument:        6
argument:        7
argument:        8
argument:        9
argument:       10

Substitute printf with whatever you need to do.
Note however:
- if your shell complains about the missing varname after read, use read your_varname
- if your shell complains about the -r switch, drop it
# 4  
Old 02-04-2013
Procedure_name('From_date', 'To_date')
Result is:
Code:
20130101
20130102
20130103
20130104
.
.
.
..
20130131

I need to run another shell script using the above result one by one value

Code:
shell_test.sh 20130101
shell_test.sh 20130102
shell_test.sh 20130103
shell_test.sh 20130104
.
.
.
.
.
.
shell_test.sh 20130131
exit


Last edited by radoulov; 02-04-2013 at 11:27 AM..
# 5  
Old 02-04-2013
Try:

Code:
sqlplus -s <<! |
username/password
set pages 0 feed off
exec procedure_name('From_date', 'To_date')
!
while read; do
  shell_test.sh "$REPLY"
done

# 6  
Old 02-05-2013
Hi radoulov,

your code is works fine but i have a small doubt about this..

How to run plsql code, like
i want to save plsql code in a file like "driver.sql" the parameters of the code is from_date and to_date
I want to execute this script like your code

Code:
sqlplus -s <<! |
username/password
set pages 0 feed off
exec procedure_name('From_date', 'To_date')
insted of above line i need to execute plsql code and all the below process is same
!
while read; do
  shell_test.sh "$REPLY"
done

Please help me...
# 7  
Old 02-05-2013
Get the procedure code from table: ALL_SOURCE
Code:
select text from all_source where name='PROCEDURENAME' order by line;

Save it in a file: driver.sql and run it.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Oracle Procedure approach

HI All , I am new to oracle procedures. Please help me for the approach to satify the requirement. I need to create procedures. with parameters passed ( say report,type,identities,country ) It should also call sql query within the procedures and passed parameters should be used in where clause... (2 Replies)
Discussion started by: Perlbaby
2 Replies

2. Shell Programming and Scripting

Executing oracle procedure using cronjob

Hi, Below is the code to execute the procedure "dbms_job.broken" from the shell script. on executing manually, it works properly without any error. but it is not working when scheduled using the cronjob. #!/usr/bin/bash user_name="oracdb" password="ora123" tns="localdb"... (2 Replies)
Discussion started by: milink
2 Replies

3. Shell Programming and Scripting

run oracle procedure in unix scripts

for j in $(du -h $1| awk '{printf("%100-s \n",$2)}') do for a in $(ls -time $(find $j -name '*.txt') | awk '{printf("\n%s %s %s %s %s",$4,$7,$8,$10,$11)}') do echo "$a">output.txt done done exit 0 echo "Password : xxxxxx " > LOG/BGH_$3.out (0 Replies)
Discussion started by: utoptas
0 Replies

4. Shell Programming and Scripting

how to pass the values to unix shell from the oracle stored procedure.

Hi i am calling a stored procedure from unix shell like this call test_proc('0002','20100218'); the stored procedure was giving output like this dbms_output.put_line(' processed earlier'); i want to see the output in the unix shell where i called. Thanks barani (6 Replies)
Discussion started by: barani75
6 Replies

5. Shell Programming and Scripting

passing variable to oracle procedure

using the script below I want to pass a parameters thorugh my sql call(@/unixsxxx/xxxx/helpenv.sql emptab ) as input into an oracle procedure xxxx_package.proc1(%1,emptab); . I tried %1 but it does not work. Any suggestions. #!bin/ksh set -x # export... (0 Replies)
Discussion started by: TimHortons
0 Replies

6. Shell Programming and Scripting

Oracle procedure is not executing in uix

Hi Guys, I am trying to tun a oracle proedure throgh unix shell script but it is not running i dont know why ? i have tested this procedure in sqlplus and it was working fine. can you see the script and sql file and let me know where is my mistake. script:bm_chart_table_loading.sh ... (3 Replies)
Discussion started by: shary
3 Replies

7. Shell Programming and Scripting

How to execute an Oracle procedure using shell

Hi , i have created an .sh file that has the following code: #!/bin/ksh sqlplus -s p1istuat/p1istuat@CWS_IST6 @Procedure_Execute.sql & sqlplus -s p1istuat/p1istuat@CWS_IST6 << EOF exit EOF The mentioned Procedure_Execute.sql file inside has the following code: exec TEST; ... (5 Replies)
Discussion started by: vins_san
5 Replies

8. UNIX for Dummies Questions & Answers

calling Oracle procedure from Unix

Does anyone know how to call an Oracle stored procedure from a Unix script? (1 Reply)
Discussion started by: ssmiths001
1 Replies

9. UNIX for Advanced & Expert Users

Oracle stored procedure.

I am using sqlplus. I have the stored procedure name. How can i print the stored procedure content? (2 Replies)
Discussion started by: kamil
2 Replies

10. UNIX for Dummies Questions & Answers

capturing oracle procedure out param value

I have a procedure with an out parameter, I want to use this value in a shell script, I've done this in perl before but they want this to be a ksh script. what is the syntax to do this. this was my first thought; #!/usr/bin/ksh sqlplus -s scott/tiger@db << EOF ... (1 Reply)
Discussion started by: edog
1 Replies
Login or Register to Ask a Question