Comment afficher le code de procédure stocké dans SQL Server Management Studio

Je suis nouveau sur SQL Server. Je suis connecté à ma base de données via SQL Server Management Studio.

J'ai une liste de procédures stockées. Comment afficher le code de procédure stocké?

Un clic droit sur la procédure stockée n'a aucune option comme view contents of stored procedure.

Merci.

49
demandé sur sqluser 2012-01-04 23:52:49

8 réponses

Faites un clic droit sur le proc stocké et sélectionnez script procédure stockée comme Créer à la nouvelle fenêtre de L'éditeur de requête / Presse-papiers / fichier

Vous pouvez également modifier lorsque vous faites un clic droit sur le nom

Si vous voulez plus de 1 proc à la fois, cliquez sur le dossier procédures stockées, appuyez sur F7, avec CTRL et cliquez sur Sélectionner tous ceux que vous voulez, puis faites un clic droit et sélectionnez script procédure stockée comme Créer

32
répondu SQLMenace 2012-01-04 20:01:54

Je suppose que c'est une meilleure façon d'afficher le code d'une procédure stockée:

sp_helptext <name of your sp>
95
répondu Kniganapolke 2013-06-12 12:01:52

Cette option est appelée Modify:

entrez la description de l'image ici

Cela vous montrera le code T-SQL pour votre procédure stockée dans une nouvelle fenêtre de requête, avec un ALTER PROCEDURE ... lead-in, de sorte que vous pouvez facilement changer ou modifier votre procédure et la mettre à jour

32
répondu marc_s 2012-01-04 20:01:20

Ceci est une autre façon de voir la définition de la procédure stockée

SELECT OBJECT_DEFINITION (OBJECT_ID(N'Your_SP'))
10
répondu sqluser 2015-02-24 05:28:47

Utilisez la requête ci-dessous: -

SELECT object_definition(object_id) as [Proc Definition]
FROM sys.objects 
WHERE type='P'
7
répondu ANIL KUMAR DUBEY 2014-11-04 16:54:16

Les autres réponses qui recommandent d'utiliser l'Explorateur d'objets et de scripter la procédure stockée dans une nouvelle fenêtre de l'éditeur de requêtes et les autres requêtes sont des options solides.

Personnellement, j'aime utiliser la requête ci-dessous pour récupérer la définition/code de procédure stockée dans une seule ligne (j'utilise Microsoft SQL Server 2014, mais il semble que cela devrait fonctionner avec SQL Server 2008 et plus)

SELECT definition 
FROM sys.sql_modules 
WHERE object_id = OBJECT_ID('yourSchemaName.yourStoredProcedureName')

Plus d'informations sur sys.sql_modules:

Https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql

5
répondu Brian T.A. 2017-05-04 17:48:27

Sp_helptext 'your_sp_name'

Dans management studio par défaut, les résultats sont affichés en mode Grille. Si vous souhaitez le voir dans la vue texte, allez à:

Requête -- > Résultats vers -- > résultats vers Texte

Ou CTRL + T, puis exécutez.

3
répondu Ryan 2017-02-21 04:56:41

Si vous n'avez pas la permission de 'modifier', comme moi, vous pouvez installer un outil gratuit appelé "recherche SQL" (par redgate). Je l'utilise pour rechercher des mots-clés que je sais ÊTRE dans le SP et il renvoie un aperçu du code SP avec les mots-clés en surbrillance.

Ingénieux! Je copie ensuite ce code dans mon propre SP ou le visualise dans

1
répondu iDriveTheLateCar 2013-02-25 20:27:12