Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2006, 14h16   #1
Membre du Club
 
Avatar de NeoMan
 
Inscription : avril 2002
Messages : 162
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 162
Points : 42
Points : 42
Envoyer un message via MSN à NeoMan
Par défaut [MySQL 5] Execute à la MS SQL ?

Bonjour à tous !

Je voulais savoir s'il était possible avec la version 5 de MySQL de faire un Excute de type MS SQL ? Par exemple on construit la dynamiquement la requête dans une procédure stockée (sous forme de chaine de caractères) et l'exécute, l'interprète ou l'évalue à la fin de la procédure.
D'après mes essais ce n'est pas possible, mais je demande confirmation...

Merci d'avance !

@++

NeoMan
__________________
Vas-y court petit bug! Profites! On verra bien qui rira le dernier...
NeoMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2006, 14h49   #2
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Salut,

Grâce aux Prepared Statements, il est possible d'exécuter des requêtes construites dynamiquement.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
DELIMITER //
 
CREATE PROCEDURE go()
BEGIN
	PREPARE stmt1 FROM "SELECT * from matable";
        EXECUTE stmt1;
        DEALLOCATE PREPARE stmt1;
END
//
 
DELIMITER ;
 
CALL go();
Cependant, je suppose que tu aimerais pouvoir traiter les résultats renvoyés via un curseur. Et ca... je crois que ce n'est pas possible.

La seule idée qui me vient à l'esprit serait de créer un prepared statement qui crée et remplit une table temporaire (voir CREATE TEMPORARY TABLE t SELECT ...). Et ensuite, ton curseur parcourt cette table.

Si tu trouves mieux, je suis preneur
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2006, 12h22   #3
Membre du Club
 
Avatar de NeoMan
 
Inscription : avril 2002
Messages : 162
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 162
Points : 42
Points : 42
Envoyer un message via MSN à NeoMan
Citation:
Envoyé par Biglo
Cependant, je suppose que tu aimerais pouvoir traiter les résultats renvoyés via un curseur. Et ca... je crois que ce n'est pas possible.
Désolé de répondre que maintenant, j'ai eu des "petits" soucis de connexion...
Non non je n'ai, pour le moment du moins, pas le besoin de traiter le résultat via un curseur.
Ta réponse explique exactement ce que je voulais.



@++

NeoMan
__________________
Vas-y court petit bug! Profites! On verra bien qui rira le dernier...
NeoMan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h52.


 
 
 
 
Partenaires

Hébergement Web