Requete Procédure stocké [Résolu]

Signaler
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,

Je cherche à récupéré mon script SQL d'une procédure stocké dans ma base de données en 1 requete SQL!

Savais vous comment on fait?

Merci

Qui ne tente rien, n'a rien

4 réponses

Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
10
c'est ça que tu veux ?

SELECT specific_name, routine_definition FROM INFORMATION_SCHEMA.routines where routine_type = 'PROCEDURE';
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Salut,

Perso j'ai rien compris. Tu veux récupérer le code de la procédure ou l'exécuter ?
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013

c'est ce que je cherchai, avec une petite amélioration :

SELECT routine_definition FROM INFORMATION_SCHEMA.routines where routine_type = 'PROCEDURE' and specific_name='NomDeMaProcedure';

Merci beaucoup.

Qui ne tente rien, n'a rien
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,

Attention à la colonne routine_definition de cette vue, elle est définie en nvarchar(4000) : si le code de la SP dépasse les 4000 chars tu auras un code invalide.
Donc soit tu utilises la fonction OBJECT_DEFINITION, soit tu passes par sys.sql_modules.
Sur du SQL Server 2000, qui ne supporte pas nvarchar(MAX), il faudra travailler avec syscomments (plusieurs lignes quand la SP dépasse 4000 chars)

/*
coq
MVP Visual C#
CoqBlog
*/