Requete Procédure stocké

Résolu
cs_Tolliap
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013
- 24 oct. 2008 à 09:48
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
- 26 oct. 2008 à 17:27
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

BasicInstinct
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
12
24 oct. 2008 à 14:42
c'est ça que tu veux ?

SELECT specific_name, routine_definition FROM INFORMATION_SCHEMA.routines where routine_type = 'PROCEDURE';
3
fregolo52
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
3
24 oct. 2008 à 14:31
Salut,

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

24 oct. 2008 à 15:35
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
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
26 oct. 2008 à 17:27
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
*/
0