guizmo123
Messages postés62Date d'inscriptiondimanche 6 octobre 2002StatutMembreDernière intervention13 avril 2007
-
13 avril 2007 à 12:20
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
17 avril 2007 à 18:02
Bonjour !
Savez-vous comment avoir la source d'une procédure stockée grâce aux tables système.
J'aimerais dans un but final, en cliquant sur le nom d'une proc dans une liste par exemple, que la source de la proc s'affiche dans un champs de texte...
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 14 avril 2007 à 18:00
Salut,
Avec SQL Server 2000, tu peux te servir de la vue INFORMATION_SCHEMA.ROUTINES (colonne ROUTINE_DEFINITION).
Attention toutefois si la définition de la procédure excède 4000 caractères (ou 8000 je ne me souviens plus du type de donnée exact, logiquement c'est du nvarchar, donc 4000), elle est retournée sous forme de plusieurs lignes il me semble.
Sous SQL Server 2005 tu as la fonction OBJECT_DEFINITION, renvoyant du nvarchar(MAX), ce qui doit régler le problème cité ci dessus (je ne sais pas si la vue INFORMATION_SCHEMA.ROUTINES se comporte différemment)
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 14 avril 2007 à 18:21
Bien, par curiosité j'ai vérifier, tu peux oublier la vue, elle ne retourne pas plusieurs lignes....
Du coup comme le dit skweeky, sous SQL Server 2000, dit bonjour à syscomments avec une requête de ce genre pour récupérer l'ensemble des parties :
SELECT [comments].[text]
FROM [dbo].[syscomments] AS [comments]
WHERE [comments].[id] = OBJECT_ID('[dbo].[Test]')
ORDER BY [comments].[colid];