J'utilise une interface qui me permet seulement d'utiliser des commandes SQL. La base de données est SQL Server. À l'heure actuelle, je dois ouvrir une procédure stockée et lire ce qui est à l'intérieur. Quelle est la commande SQL pour ouvrir une procédure stockée pour la lecture? Merci. P>
4 Réponses :
sp_helptext 'dbo.myStoredProc'
SELECT TEXT FROM syscomments WHERE id = (SELECT id FROM sysobjects WHERE name = '<NAME>') ORDER BY colid
SELECT definition
FROM sys.sql_modules
WHERE object_id = OBJECT_ID('YourSchemaName.YourProcedureName')
Toujours agréable de voir l'utilisation de SYS.SQL_MODULES plutôt que de SYSCOMMENTS ET LES INFORMATIONS_SCHEMA
@FOSCO: Cela renvoie un seul NVARCHAR (max) code> résultat. sp_helptext "Affiche la définition utilisée pour créer un objet dans plusieurs rangées. Chaque ligne contient 255 caractères de la définition transact-sql. "
Ah ... avec des résultats à texte, il n'y a pas de problème avec 255 limites de caractères. Il serait idiot d'utiliser des résultats à table, absolument.
Merci et désolé pour le long délai confirmant la bonne réponse. Juste aujourd'hui, je suis rentré à cette question.
SELECT OBJECT_DEFINITION(OBJECT_ID('dbo.myStoredProc'))
Note: subject to Metadata Visibility and VIEW DEFINITION rights