getting return value from oracle function


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting getting return value from oracle function
# 1  
Old 04-23-2010
getting return value from oracle function

So, in Oracle (11gR2) on aix I have a function like:

Code:
CREATE OR REPLACE function COMMON.t2(var1 in varchar2, vari in number,var2 in out number)  return number as

begin
    insert into korisnik_temp(kor_inicia, kor_opisno) values(1, var1);
    var2:=0;
    return var2;
exception
    when others then
    var2:=-1;
    return var2;
end;

and a shell script calling it:
#!/bin/bash -e
Code:
username=$1
baza=$2
procedure=$3
var1=$4
prosao=0
passwd=''
vari=22
retval=0

echo $vari
while read line
do
        if [[ ! "$line" =~ ^# ]]; then
                tns="$(echo $line | cut -d: -f1)"
                login="$(echo $line | cut -d: -f2)"
                pwd="$(echo $line | cut -d: -f3)"
                if [ $login = $username ]
                then
                        if [ $tns = $baza ]
                        then
                                passwd=$pwd
                                prosao=1
                        fi
                fi
        fi
done < "connections"

if [ $prosao = 1 ]
then
        vvarr=$(sqlplus -s -l $username/$passwd@$baza<<END
        set heading off;
        set feedback off;
        var var2 Number;
        execute retval = $procedure('$var1', $vari, :var2);
        print var2;
        commit;
        exit;
        END)
        echo $vvarr
else
        echo -2
fi

but it makes an error because it's an function.
How could I get a returning value from an oracle function?

---------- Post updated at 02:57 PM ---------- Previous update was at 12:12 PM ----------

ok, please, change the name of thread into 'getting return value from oracle function'

Last edited by Scott; 04-23-2010 at 07:37 AM.. Reason: Code tage, please....
# 2  
Old 04-23-2010
Not fully checked.

This line must start in column 1. It must not be indented.

Quote:
END)
# 3  
Old 04-23-2010
sorry, I don't understand
# 4  
Old 04-23-2010
When creating a "here document" in unix shell you state the string which will end the "here document".
In your case this is the three characters "END".
To be recognised, the string "END" must appear on its own line with no indentation.
Personally I don't use the $( commands ) syntax for anything complicated.

Code:
Your line:
        END)
Should not have "END" indented and after looking at this a bit more closely
we should move the right parenthesis to the next line too:
END
)


Last edited by methyl; 04-23-2010 at 10:38 AM.. Reason: layout
# 5  
Old 04-23-2010
I corrected that... but error still apears
# 6  
Old 04-23-2010
Quote:
Originally Posted by bongo
I corrected that... but error still apears
Please forgive me if you actually posted what the error is, and I can't see it, but I just can't see it!
# 7  
Old 04-23-2010
no, I also cannot see the error Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Function - Make your function return an exit status

Hi All, Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition. #Body function1() { if then echo "exist" else echo "not exist" } #if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies

2. Shell Programming and Scripting

Return: can only `return' from a function or sourced script

Not sure where the problem is. I can run the script without any issue using the following command. . /opt/app/scripts/cdc_migration.sh But it fails with the below error when I try it this way /opt/app/scripts/cdc_migration.sh /opt/app/scripts/cdc_migration.sh: line 65: return: can only... (1 Reply)
Discussion started by: svajhala
1 Replies

3. Shell Programming and Scripting

Return a value from called function to the calling function

I have two scripts. script1.sh looks -------------------------------- #!/bin/bash display() { echo "Welcome to Unix" } display ----------------------------- Script2.sh #!/bin/bash sh script1.sh //simply calling script1.sh ------------------------------ (1 Reply)
Discussion started by: mvictorvijayan
1 Replies

4. Shell Programming and Scripting

return in function

I am using ksh. I want to know how can we make any function to return string or double value. I dont want to use the global variables. (5 Replies)
Discussion started by: PRKS
5 Replies

5. Shell Programming and Scripting

return value of a function

I have write a shell function to get the maximum of a vector. However, the returned value from the function is not always the correct one. Here is the script: maxval() { local max j i size arrval size=$1 ; shift max=-999999999 i=0 while do arrval="$1" if then ... (5 Replies)
Discussion started by: fl0r10
5 Replies

6. Shell Programming and Scripting

need to return value from function

how to return value from function and print from main program??? And also I need to return true or false... Is it possible? (5 Replies)
Discussion started by: darshakraut
5 Replies

7. Shell Programming and Scripting

function return array

Hi all I would like to know if there is a way to return an array for a function. As I know function can return all the contents in an array, I want to return an array type. (6 Replies)
Discussion started by: dophine
6 Replies

8. Shell Programming and Scripting

ORACLE return a function to Solaris

Guys, I´m have this problem and I do not know what to do anymore: cod=`sqlplus -s ${DATABASE} << EOF set heading off feedback off verify off select max(eventid) from events; exit EOF` sed "s/CODEVENTID/${cod}/" c.ctl Abova What I´ve done. The CODEEVENTID is already set into a... (1 Reply)
Discussion started by: Rafael.Buria
1 Replies

9. Shell Programming and Scripting

return value of a function

Hi I have a doubt in the way the variables inside a function are treated . if a function is called from the main script directly, the variables inside them act as global variables. however if the return value of the function is stored to some other variable in the main script as shown,... (3 Replies)
Discussion started by: prez
3 Replies
Login or Register to Ask a Question