PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Procédure stockée
Procédure stockée
Iniciado por moreau1806, 02,nov. 2004 11:14 - 5 respuestas
Publicado el 02,noviembre 2004 - 11:14
Je souhaite récupérer une valeur d'une procédure stockée sur Oracle à partir de Windev8.
Dans d'autre message vous utilisez :

SQLEXEC("BEGIN MaProcedure(params1,Param2,..Paramn)) END;","MaReq")

Mais quelle est le code de "MaReq" pour executer la procédure en sql?

Merci
Publicado el 02,noviembre 2004 - 13:10
le code sql de mareq est celui que tu donnes en 1er paramétre à sqlexec().

le code sql de la procédure stockée est sur ta base oracle. c'est le principe des procs stokées.

A+
Adrien.
Publicado el 02,noviembre 2004 - 15:44
voila un exemple que j'utilise avec Oracle et acces natif

// Déclaration de la source de données associée à la requête
MaProc,MaRequete est une Source de Données
Résultat est un booléen
// Déclaration des variables

MaProc.n =0
MaProc.Res=""
//Exécution de la requête avec récupération du résultat
Résultat=HExécuteRequêteSQL(MaProc,Oracle_ColiPays,hRequêteSansCorrection,"begin :Res :=INTRANET.function_GET_NCHRONO_INTRANET(:n); end;")
// Affichage du résultat
SI Résultat ALORS
RENVOYER MaProc.Res
SINON
Ouvre(Problème,HErreurInfo())
RENVOYER Faux
FIN


si cela peut t'aider
a+
Publicado el 02,noviembre 2004 - 17:17
Merci, je vais essayer.

Dans ma base Oracle ma procédure est :
Procedure PG(num NUMBER, tot OUT NUMBER)
mon code doit-il être pour récupérer mon "tot" ? car ma requete ne retourne rien ?


MaProc,MaRequete est une Source de Données
Résultat est un booléen

Problème est une chaîne
// Déclaration des variables
MaProc.n = sNoContrat
MaProc.Res=""

//Exécution de la requête avec récupération du résultat
Résultat=HExécuteRequêteSQL(MaProc,MaConnexion,hRequêteSansCorrection,"begin :Res :=PGENGLRUC(:n); end;")

// Affichage du résultat
SI Résultat ALORS
RENVOYER MaProc.Res
SINON
SQLInfoGene("Résultat")
Info("Erreur SQL : " + SQL.MesErreur)
FIN


merci
Publicado el 02,noviembre 2004 - 22:06
du dois parcourir ta requête pour lire le résultat.

HLitPremier(MaProc)

A+
Adrien

"Jérôme" <moreau1806@yahoo.fr> a écrit dans le message de news:
41879b74$1@news.pcsoft.fr...



Merci, je vais essayer.

Dans ma base Oracle ma procédure est :
Procedure PG(num NUMBER, tot OUT NUMBER)
mon code doit-il être pour récupérer mon "tot" ? car ma requete ne
retourne rien ?


MaProc,MaRequete est une Source de Données
Résultat est un booléen

Problème est une chaîne
// Déclaration des variables
MaProc.n = sNoContrat
MaProc.Res=""

//Exécution de la requête avec récupération du résultat
Résultat=HExécuteRequêteSQL(MaProc,MaConnexion,hRequêteSansCorrection,"begin
:Res :=PGENGLRUC(:n); end;")

// Affichage du résultat
SI Résultat ALORS
RENVOYER MaProc.Res
SINON
SQLInfoGene("Résultat")
Info("Erreur SQL : " + SQL.MesErreur)
FIN


merci

Publicado el 03,noviembre 2004 - 10:19
Lorsque j'execute le code suivant, il y a toujours une erreur dans ma requete qui est :

L'exécution de la requête suivante a échoué :
begin :Res := PGENGLRUC(:n ); end;
PLS-00201: l'identificateur 'PGENGLRUC' doit être déclaré

Auriez vous une idée ?



// Déclaration de la source de données associée à la requête
PGENGLRUC est une Source de Données
Résultat est un booléen

// Déclaration des variables
PGENGLRUC.n = sNoContrat
PGENGLRUC.Res=""

//Exécution de la requête avec récupération du résultat
Résultat=HExécuteRequêteSQL(PGENGLRUC,MaConnexion,hRequêteSansCorrection,"begin :Res := PGENGLRUC(:n); end;")

// Affichage du résultat
SI Résultat ALORS
HLitPremier(PGENGLRUC)
SINON
Erreur(HErreurInfo())
RENVOYER Faux
FIN