Récuperer les noms, types, etc... d'un parametre d'une procedure stockée

Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 8 nov. 2004 à 18:47
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 26 mai 2005 à 09:18
Hello tout le monde,

Sous SQL serveur et/ou Mysql je souhaiterais pouvoir récupérer les paramêtres d'une procédure stockées.
Grosso modo je veux pouvoir lister toutes les procédures stockées que j'ai créer grace à priori (sous SQL serveur):
select * from sysobjects where xtype='P' and category = 0 order by name;


Et à partir de cette liste liste tout les parametres de chaque Procedure...

Merci...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."

9 réponses

ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
9 nov. 2004 à 23:25
salut,

tu donne la reponse dans ta quetion???? ou alors jai rien compris!!!

select * from `sysobjects`where xtype='P' and category = '0' order by name


dans le doute je rajouterai des ` comme ca
mais si tu veut tout afficher il fo que fasse ca :

select * from `sysobjects`


++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
10 nov. 2004 à 08:53
ben avec ce select j'ai vu le nom de mes procedure...mais pas les parametres la composant....

J'ai mal regarder ???

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
10 nov. 2004 à 09:19
salut,

Quand tu fait " select * " tu demande à voir tout les champs de ta table sysobject

Pour limiter les champs il fo specifier ce que tu veut voir (a la place de *)

Donc je pense que tu as mal regarder

la deuxieme possibilité est que les parametres que tu cherche sont présent dans la base mais dans une autre table (lié par un identifiant par exemple)

Je ne sias pas quoi te dire de mieux
++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
10 nov. 2004 à 09:28
merci je connais un peu le prinicipe du select * :big)

certes il se peut que les parametres en question se trouve dans une autre table (ce qui semble etre le cas puisque je ne les ai pas trouver dans cette table...)

ma question est OU ???

:)

merci qd même
Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
10 nov. 2004 à 09:46
ahhhh d'accord tu connais pas le nom de tes tables....

pour avoir le nom de tes tables présent dans ta base de donnée
SHOW TABLES FROM nom_de_ta_base


ensuite pour avoir le nom des colonne dans chaque table
SHOW columns from table


puis ton select * from table1 t1,table2 t2 where t1.id=t2.id and ..... mais ca apperement tu sais alors je m'eternise pas

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
10 nov. 2004 à 10:14
Nop c pas ca que je cherche....
afficher la loste des tables je savais aussi faire....
aprês 4 ans à bosser avec des Bdd....ca devient un minimum...

La vrai question etait bien "Dans quelle table vue ou autre puis-je trouver les infos concernant mes procedures stockées (parametre, type des parametre etc...) ?"
merci qd même ehmarc....

:big)

Il semblerait que j'ai trouver un truc sous sql serveur..Une petite view qui fait ca... :

SELECT * FROM INFORMATION_SCHEMA.routines where routine_type = 'PROCEDURE';


la dedans un a une Colonne ROUTINE_DEFINITION qui contient le create de la procedure....
je vais essayer de recupérer mes parametres à partir de la...
en décomposant le contenu de ce champ...
c un peu bricolo...
mais en attendant mieux...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
10 nov. 2004 à 10:15
si kkun a autre chose je suis qd même preneur....
sous sql serveur ou mysql...

merci..

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
benaudi Messages postés 1 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 25 mai 2005
25 mai 2005 à 18:49
Je vois que je ne suis pas le seul à me poser ce genre de question...
Je viens de tomber sur le problème...
Après une fouille globale des tables système, j'en ai déduit la petite procedure suivante :

select sysobjects.name as strNomProcedure, syscolumns.name as strNomColonne, syscolumns.colorder as intOrdreColonne, systypes.name as strType, syscolumns.length as intlongueur
from sysobjects
left outer join syscolumns
on sysobjects.id = syscolumns.id
inner join systypes
on syscolumns.xusertype = systypes.xusertype
where sysobjects.xtype='P'
and sysobjects.category = 0
order by sysobjects.name, syscolumns.colorder

La réponse arrive surement quelques mois trop tard mais elle servira surement à d'autres...
"Ce qui ne me tue pas, me rend plus fort..."
mais
"tout est possible à celui qui croit!"
"May the force be with you..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
26 mai 2005 à 09:18
tjs bon a prendre Padawan


Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous