How to call pl/sql in unix script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to call pl/sql in unix script
# 1  
Old 08-29-2005
Question How to call pl/sql in unix script

sample code as following:

test_sql(){
#test#echo test_sql
str=`$ORACLE_BIN/sqlplus -s $user/$passwd <<EOM

set verify off
set heading off
set feedback off
#--------start pl/sql
{
DECLARE
CURSOR pah_cs IS
select id from table
where letter = 'abcd';
temp number;
echo "-------"
BEGIN
OPEN pah_cs;
LOOP
FETCH pah_cs INTO temp;
EXIT WHEN pah_cs%NOTFOUND;
echo $temp > tt.csv 2>&1;
ND LOOP;
CLOSE pah_cs;
END;
}
exit
EOM`
}
test_sql

I want to use call pl/sql in unix script and put the output into another file and I want the file format is saving the output lilne by line.

but now it seems my pl/sql script hasnt been called at all.
Dunno what the problem is, anyone could help me?? many thanks.
# 2  
Old 08-30-2005
Hi,

Of course it won't run .....
1. Don't use shell commands inside the pl-sql block!
2. After the "END" you should put "/".

It should be written as the following:

Code:
test_sql()
{
$ORACLE_HOME/bin/sqlplus -s $user/$passwd << EOM
set verify off
set heading off
set feedback off
DECLARE
CURSOR pah_cs IS
select id from table
where letter = 'abcd';
temp number;
BEGIN
OPEN pah_cs;
LOOP
FETCH pah_cs INTO temp;
EXIT WHEN pah_cs%NOTFOUND;
END LOOP;
CLOSE pah_cs;
END;
/
EOM
}
test_sql

Nir
# 3  
Old 08-30-2005
hi,Nir

thanks for your response. good point but not enough.

the next problem is how I can put the 'temp' into a file. Such as if there are 5 records, whenever the cursor fetch one value then put it into a file,so that it would be 5 lines in the file.

many thanks.
# 4  
Old 08-30-2005
Read this thread for a good way to accomplish your requirement. This works with either straight SQL or PL/SQL.
# 5  
Old 08-31-2005
Data

Unfortunately I think it is not what I want either.

now I am trying to use CLOB so that I could save the output in a file but still havent figured it out yet.

anyone got more idea about how to do it, just feel free to email me or post it here.

my email address is ***Deleted***.

many thanks.

Last edited by Ygor; 09-01-2005 at 12:24 AM.. Reason: Remove email address
# 6  
Old 08-31-2005
just like this is okay.

Code:
sqlplus userid/passwd <<EOF >filename.log
your sql.
...

set serveroutput on; 
dbms_output.put_line(para1||' '||para2||...);


EOF

all output log write into log file.
# 7  
Old 09-01-2005
Thanks zealeS

hi, Thank you zealeS, more help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Call SQL LOADER FROM UNIX

HI Experts, I am pretty new to scripting and i need to create a perl or shell script which should fetch a file from local directory and insert the data into a table using sql loader. This will be later added to chron job to run daily and fetch all files and load them into the table. Also i... (1 Reply)
Discussion started by: sam1234
1 Replies

2. UNIX for Dummies Questions & Answers

Call SQL LOADER FROM UNIX

HI Experts, I am pretty new to scripting and i need to create a perl or shell script which should fetch a file from local directory and insert the data into a table using sql loader. This will be later added to chron job to run daily and fetch all files and load them into the table. Also i... (1 Reply)
Discussion started by: sam1234
1 Replies

3. Shell Programming and Scripting

Call sql script from UNIX shell script

I know this question is out there in many forums, but I tried all the combinations in vain. I'm basically trying to call a sql script from a shell script. Below is my sql script (plsql.sql) DELCARE v_empno NUMBER := '&empno'; BEGIN select ename,sal from emp where empno = v_empno;... (3 Replies)
Discussion started by: FName_LName
3 Replies

4. UNIX for Advanced & Expert Users

Using PHP , call a sql inside a unix script

I am running the xampp on WINDOWS, and my php script is connecting to a unix script on a different server (ssh2_connect("11.31.138.56", 22). I am running the unix script and inside this script I am calling the .sql file . The SQL is connecting to oracle db on the unix server. But the sqlplus... (2 Replies)
Discussion started by: madfox
2 Replies

5. UNIX for Dummies Questions & Answers

Call sql script

I want to call the sql query from UNIX..but how to set page size and other necessary parameters i don't know plz guide me how to do this (2 Replies)
Discussion started by: sagar_1986
2 Replies

6. Shell Programming and Scripting

Call a pl sql function from unix

hi, I want to know how to call a pl sql function testfunction(param1,..) that returns a value and grab that value in a shell variable. Thnx in advance ---------- Post updated 03-30-10 at 11:58 AM ---------- Previous update was 03-29-10 at 03:49 PM ---------- thnx a lot jim (0 Replies)
Discussion started by: austinhell3_16
0 Replies

7. Shell Programming and Scripting

Can SQL Server call be made from unix sh

Hi, I need to make SQL Server procedure call (exec <proc name>)from unix shell script. First of all I would like to know if it is possible. I know we can do it from Oracle but not sure about SQL Server. Version: SunOS 5.8 SQL 8.0 I have made the below entry in the interface file. NSXNA267 ... (0 Replies)
Discussion started by: sspreethi
0 Replies

8. Shell Programming and Scripting

Unix call to Oracle PL/SQL pkg/store.proc

HI, I'm trying to get this right, please can you help. In my unix korn shell script, I call an oracle stored proc within a package and I specify 3 parameters, 2 of which are IN OUT parameters (i.e. I expect the stored proc to change them and return them back to me). Does the unix code... (7 Replies)
Discussion started by: csong2
7 Replies

9. UNIX for Advanced & Expert Users

How to call SQL procedure from UNIX Shellscript ?

Hi All I would be thankful to you all if you will guide me the steps to call a stored proc. from unix shell script. that stored proc. could be parameterised or parameterless developed in SQL. Any info. in this topic would help me..... Thanks in advance.... (1 Reply)
Discussion started by: varungupta
1 Replies

10. Shell Programming and Scripting

how can I call a pl/sql funciton in unix script

who can show me how to call pl/sql function or precudure in unix script.. cheers, (6 Replies)
Discussion started by: YoYo
6 Replies
Login or Register to Ask a Question