Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à Tous
Je désire exécuter une procédure (oracle) avec une variable. J'ai un problème lors de l'appel de celle ci, si quelqu'un peut me renseigner.
a moins que ceci ne soit pas faisable
Merci.
Pour faire simple voici le code
String AppelProc = "APPCOM.P_PARAM_CTL_COM"
DECLARE p_param_ctl_com PROCEDURE FOR APPCOM.P_PARAM_CTL_COM(:Cde) USING SQLCA; <--- comme ceci OK code en dure
DECLARE p_param_ctl_com PROCEDURE FOR @AppelProc(:Cde) USING SQLCA; <----- comme celà KO
EXECUTE p_param_ctl_com;
IF SQLCA.sqlcode <> 0 THEN
Message_Retour = sqlca.sqlerrtext
suite.......
Hors ligne
Tu veux faire du SQL dynamique ?
Si oui, consulte l'aide au chapitre "Dynamic SQL Format 2 SQL statement"
Quoi qu'il en soit, pour ce genre de questions, tuoujours rappeler:
- version de windows
-version de Pb
- version d'oracle
- Méthode de connexion (drier natif, odbc, ole db, ...)
Hors ligne
Merci de ta réponse
Je vais chercher de ce coté là
Je vous tiens au courant de mes recherches
Cordialement
Milles excuses
PB 10.5
Oracles 9i
Hors ligne
Bonjour à Tous
Problème résolu
Ci dessous le code. Ca peux servir.
Cordialement
Merci à shahin pour son aide je n'avais pas penser à regarder de ce coté là
String ls_Select_Statement String ls_Sp_Name = "APPCOM.P_PARAM_CTL_COM" String ls_Input_Param_Value = '3010570,0,1' ls_Select_Statement = "Execute "+ls_Sp_Name +"("+ls_Input_Param_Value+")" DECLARE My_proc DYNAMIC PROCEDURE FOR SQLSA; PREPARE SQLSA FROM :ls_Select_Statement; EXECUTE DYNAMIC My_proc; IF SQLCA.sqlcode <> 0 THEN Code_Retour = 999 Message_Retour = sqlca.sqlerrtext CLOSE My_proc; ELSE FETCH My_proc INTO :Code_Retour; CLOSE My_proc; END IF //suite code......
Hors ligne
et une promotion pour shahin....
Hors ligne