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 visualiser le code de procédure stockée?
Un clic droit sur la procédure stockée n'a aucune option comme view contents of stored procedure
.
Merci.
faites un clic droit sur le proc stocké et sélectionnez la procédure stockée script en tant que CRÉER dans la fenêtre/le presse-papiers/le fichier de l'éditeur de requête
vous pouvez aussi faire Modify quand vous faites un clic droit sur le nom
Si vous souhaitez effectuer plus d'une procédure à la fois, cliquez sur le dossier des procédures stockées, appuyez sur F7, avec CTRL, sélectionnez tous ceux que vous souhaitez, cliquez avec le bouton droit de la souris et sélectionnez script la procédure stockée sous CREATE
J'imagine que c'est un meilleur moyen d'afficher le code d'une procédure stockée:
sp_helptext <name of your sp>
L'option s'appelle Modify
:
Cela vous montrera le code T-SQL de votre procédure stockée dans une nouvelle fenêtre de requête, avec une introduction ALTER PROCEDURE ...
, afin que vous puissiez facilement changer ou modifier votre procédure et la mettre à jour
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'))
Utilisez la requête ci-dessous: -
SELECT object_definition(object_id) as [Proc Definition]
FROM sys.objects
WHERE type='P'
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 bien utiliser la requête ci-dessous pour extraire la définition/le code d'une procédure stockée sur une seule ligne (j'utilise Microsoft SQL Server 2014, mais il semble que cela devrait fonctionner avec SQL Server 2008 et versions ultérieures)
SELECT definition
FROM sys.sql_modules
WHERE object_id = OBJECT_ID('yourSchemaName.yourStoredProcedureName')
Plus d'infos sur sys.sql_modules:
sp_helptext 'votre_sp_name'
Dans Management Studio, les résultats par défaut sont affichés en mode grille. Si vous souhaitez le voir en mode texte, allez à:
Requête -> Résultats - - Résultats en texte
ou CTRL + T puis Exécuter.
au cas où vous n’auriez pas l’autorisation de «modifier», comme moi, vous pouvez installer un outil gratuit appelé «Recherche SQL» (par Redgate). Je l'utilise pour rechercher des mots-clés qui, je le sais, figureront dans le SP. Un aperçu du code SP contenant les mots-clés en surbrillance est renvoyé.
ingénieux! Je copie ensuite ce code dans mon propre SP ou le visualise dans
Vous pouvez afficher tout le code des objets stockés dans la base de données avec cette requête:
USE [test] --Database Name
SELECT
sch.name+'.'+ob.name AS [Object],
ob.create_date,
ob.modify_date,
ob.type_desc,
mod.definition
FROM
sys.objects AS ob
LEFT JOIN sys.schemas AS sch ON
sch.schema_id = ob.schema_id
LEFT JOIN sys.sql_modules AS mod ON
mod.object_id = ob.object_id
WHERE mod.definition IS NOT NULL --Selects only objects with the definition (code)