2009-06-09 7 views
0

Je développe cette application où je dois appeler une fonction écrite en PL/SQL qui renvoie un booléen. Si je comprends bien, bool n'est pas un type en SQL, mais en PL/SQL, alors quel sera le type de retour pour la fonction?OracleType pour une fonction pl/sql avec une valeur de retour booléenne?

command.Parameters.Add ("P_RETURN", OracleType. ???);

(Pour mémoire: Je ne contrôle pas la PL/fin SQL des choses, donc je ne suis pas en mesure de réécrire la fonction)

Répondre

4

Vous pouvez appeler la fonction SYS.diutil.bool_to_int avec le résultat de l'appel de votre fonction. Par exemple:

SYS.diutil.bool_to_int(your_function(...)) 

De la documentation:

bool_to_int: traduit BOOLEAN 3 valeur NOMBRE D'UTILISATION dans l'envoi de paramètre Bool/VALEURS DE RETOUR ENTRE svp v1 (client) et svp v2. depuis sqlnet n'a aucune variable bind BOOLEAN TYPE, nous encoder booléens AS faux = 0, vrai = 1, NULL = NULL pour transfert réseau AS NUMÉRO

+0

Je n'avais jamais entendu ou lu ce paquet auparavant ... – Mac

+0

C'est nouveau pour moi aussi. http://www.psoug.org/reference/diutil.html Apparemment un paquet d'utilitaires pour DIANA (compilateur PL/SQL). Ce n'est pas officiellement documenté mais il semble être stable de 7.3.4 à 11g. –

Questions connexes