Récuperer la valeur d'une fonction PLSQL UNIX
elmarino
Messages postés
45
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voilà, mon problème c'est que j'ai une fonction PL SQL que je décrirai comme suit:
CREATE OR REPLACE FUNCTION func_testbatch
return NUMBER
IS
code number;
BEGIN
code:=3;
return code;
END;
/
Je veux récuperer cette valeur de retour sous shell(KSH), du coup j'ai procédé comme suit:
var=$(sqlplus -s $INTRADAYUSER <<+EOF+ !func_testbatch!)
print $var;
Rien ne s'affiche!!
Voilà j'espere que j'ai été assez clair !
NB: Mon environnement UNIX est bon(USER, ...)
Voilà, mon problème c'est que j'ai une fonction PL SQL que je décrirai comme suit:
CREATE OR REPLACE FUNCTION func_testbatch
return NUMBER
IS
code number;
BEGIN
code:=3;
return code;
END;
/
Je veux récuperer cette valeur de retour sous shell(KSH), du coup j'ai procédé comme suit:
var=$(sqlplus -s $INTRADAYUSER <<+EOF+ !func_testbatch!)
print $var;
Rien ne s'affiche!!
Voilà j'espere que j'ai été assez clair !
NB: Mon environnement UNIX est bon(USER, ...)
3 réponses
-
j'ai plus sqlplus sous la main, mais tu devrais faire un fichier SQL qui contiendrait la totalité du code que tu taperais sous le shell sqlplus, et tu donne ce fichier à manger à l'exécution du SQLplus dans ton script.
sqlplus -s $INTRADAYUSER monscript.sql
(d'ailleur je ne comprends pas le "<<+EOF+ ", mais je suis pas un expert ksh, loiiin de la ^^) -
Ok, supposons alors que j'utilise un fichier où je mettrai mon code, quelle est la syntaxe à utiliser pour affecter la valeur de retour de ma fonction à une variable shell?
Merci pour ta réponse -
hello
la commande de Krysstof plus la tiennevar=$(sqlplus -s $INTRADAYUSER monscript.sql) echo $var(