Visit Our UNIX and Linux User Community


output arguments from a sqlplus


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting output arguments from a sqlplus
# 1  
Old 09-29-2009
output arguments from a sqlplus

Hi.

I need to output a 4 queries result into another application using
result=`sqlplus -s ${3}/${4}@${2} << EOF
...
query1
query2
query3
query4
....
echo "$metrics1"

and returning those individual values into another app.
(query1 and 3compute one value, query 2 and 4 compute 4 values. All of them floats)
For a normal situation I output the values this way,
server_avail1=`echo $tt1| awk '{print $1}'`; server_term1=`echo $tt1| awk '{print $7}'`;
server_menu_avail=`echo $tt1| awk '{print $2}'`; server_menu_avail=`echo $tt1| awk '{print $3}'`; ...............
the problem I'm facing is sometimes some values of a query are returned NULL and thus aren't echoed, which breaks my static outputting (and if the 1st value of the 2nd query goes NULL, the values that goes into server_menu_avail is the 2nd val of the 2nd query, etc)

To gain a little control, I tried to force substituting those NULLs with a 'NULL' word
echo "$scfmetrics1" | sed 's/^$/NULL/g'
but it's getting an extra NULL between the result of query1 and 2, and query 3 and 4.
Eg: 0 NULL NULL 100 NULL 100 100 NULL 0 NULL NULL 88.46 NULL 99.12 100

Any idea how to skin this rabbit?
# 2  
Old 09-29-2009
HI Zen,

It would be better if you can modify the sql queries out put which are null to a default value so you will not face any problem at the time of echoing it.

regards,
Sanjay
# 3  
Old 09-29-2009
Quote:
Originally Posted by sanjay.login
HI Zen,

It would be better if you can modify the sql queries out put which are null to a default value so you will not face any problem at the time of echoing it.

regards,
Sanjay
And the easiest way is to tell sqlplus to do the work:
Code:
result=`sqlplus -s ${3}/${4}@${2} << EOF
set null "NULL"
...
query1
query2
query3
query4
....
echo "$metrics1"

# 4  
Old 09-29-2009
Hi.
I started using a SQL decode to replace null occurences with 'n/a' but ended up using Cero sugestion.
Didn't remember about using set null.
This workaround will have to do.

Thanks!

Previous Thread | Next Thread
Test Your Knowledge in Computers #221
Difficulty: Easy
Apple's OS X (macOS) installed base had grown to 80 million users as reported at the WWDC 2014.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing sqlplus output to shell variable

Hi , I am using below code : for i in `ps -ef|grep pmon|awk {' print $8 '}|cut -f3 -d'_'|grep -v '^grep'` do ORACLE_SID=$i export ORACLE_SID; dest=`sqlplus "/ as sysdba" <<EOF set heading off feedback on verify off select DESTINATION from v\\$archive_dest where target in... (5 Replies)
Discussion started by: admin_db
5 Replies

2. Shell Programming and Scripting

Sqlplus function output to bash

Hi, I would like to have the output from an Oracle procedure be captured into a bash variable, then emailed to me when it runs on the cron daily as such: ~~~~~bash script~~~~~~~~~~~ #!/bin/bash shellvar=`sqlplus -s <<EOF execute test(); commit; exit; EOF` echo $shellvar mail -s "email... (1 Reply)
Discussion started by: inlinesidekick
1 Replies

3. Shell Programming and Scripting

Sending sqlplus output to a shell variable

I am trying to import a sqlplus output into a shell variable but it doesnt seem to be working. set -x export DEPENDENT_CR_NO=`sqlplus -s /nolog <<EOF conn username/passwd set heading off select dependency from custom_patches where patch_name='PATCH.zip'; exit; EOF` echo $DEPENDENT_CR_NO ... (2 Replies)
Discussion started by: beginer314
2 Replies

4. Solaris

sqlplus output from ksh.

Hi All, I have the below simple script. It runs just fine by itself when I manually invoke it. But once I put it in the crontab with entry: * * * * * /users/myuser/test.ksh >> /users/myuser/log/test.txt" It does NOT print the returned value ($REMAIN) from the DB!? The result in the... (3 Replies)
Discussion started by: steve701
3 Replies

5. Shell Programming and Scripting

Log sqlplus output from Shell

UNIX Gods, I'll be running this script from CRON. I need to log the status of each of the six sqlplus calls into a file when this job is kicked off. Any suggestions? Thanks in advance. #!/bin/ksh export USAGE="USAGE: `basename $0` -e <DBUSER> <DBPASSWD> <TNSNAME>" if ; then ... (2 Replies)
Discussion started by: WhoDatWhoDer
2 Replies

6. Shell Programming and Scripting

store sqlplus output in variable

hi how can i store sqlplus output to a variable in sh script (not bash) Thanks MM (1 Reply)
Discussion started by: murtymvvs
1 Replies

7. Shell Programming and Scripting

Formatting Oracle sqlplus output

a job extracts orcle data into unix as flat file. a single record breaks into two record in unix flat file. This is the case only for 6 records out of 60 lack records. (its not single record in two line. but its single record into record. ie., \n come into picture) can you tell me what... (6 Replies)
Discussion started by: Gopal_Engg
6 Replies

8. UNIX for Dummies Questions & Answers

Getting output parameter in sqlplus

I need to get the output parameter from a stored procedure in sql plus using shell script. Can anyone help me please ... (1 Reply)
Discussion started by: risshanth
1 Replies

9. UNIX for Advanced & Expert Users

sqlPlus output with new line character

Hi, I have a script which calls a sqlplus command and i'm saving the output in a variable. Z=`sqlplus -s $TC_ORACLE_USER/$TC_ORACLE_PASSWORD@$TC_CONNECT_STRING <<eof set echo off set head off set serveroutput on; set feedback off; select description from period where trunc(sysdate)... (2 Replies)
Discussion started by: decci_7
2 Replies

10. UNIX for Dummies Questions & Answers

File Format issue: Output of sqlplus

Hi, I am using a query like below in my shell script : { { echo "set echo off" echo "set head off" echo "whenever sqlerror exit -1; select NUMBER ||','|| FNAME ||','|| LOC ||','|| ... (2 Replies)
Discussion started by: deepakgang
2 Replies

Featured Tech Videos