-
SQLPlus and Unix scripting with passing variables.
I have a Unix (Solaris) script that I am trying to embed a SQLPlus script in it as I am trying to receive values from my Oracle database and write them into script variables to be used elsewhere in my script. However, I am getting an error when it calls the "HERE" file which contains the SQLPlus script. I'm a newbie when it comes to Unix scripting and SQLPlus, but how can I call SQLPlus from within another script... I get the feeling that I can't use the "HERE" file method as an embedded script within a larger script.
So is there a way to query Oracle from within another script and save the results to variables? Or am I missing something?
Any advice would be greatly appreciated and I could post an example if that would help to clarify.
Thanks again,
Danielle
-
To take some value from the database and put it into your variable in your unix script you can do the following;
For example in your unix script write;
/oracle/bin/sqlplus "/as sysdba" @yoursqlscript.sql
-In your sql script
use ;
spool /textfile.txt in the beginning and
use;
spool off after the line which you get the value of whatever you wanted from the database;
For ex :
spool /textfile.txt
select value from numbers where number=1;
spool off;
Now ,you have 1 in your textfile.Then use "cat" or awk with the textfile to take the needed value written in the textfile and put it into your unix script variable.
This is a solution for this.
then use this;
a=`cat textfile.txt | awk '{print $0}'`
echo $a
so you got 1 in your unix variable a .
If you have a big query which returns a lot of columns,you can use awk command to take specific values from any line,any word,etc.. of a textfile
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|