Quelle requête peut renvoyer les noms de toutes les procédures stockées dans une base de données SQL Server
Si la requête pouvait exclure des procédures stockées système, ce serait encore plus utile.
sql-server
tsql
p.campbell
la source
la source
la source
dbo.sys*
vues. Cette requête: filtre également les procédures stockées CLR, ne filtre pas les proc stockés par le système et renvoie [type] quand il est connu que [type] sera toujours 'P' car c'est la condition WHERE.D'après ma compréhension, la méthode "préférée" consiste à utiliser les tables information_schema:
la source
Les éléments suivants renvoient toutes les procédures dans la base de données sélectionnée
la source
Vous pouvez essayer cette requête pour obtenir des procédures et des fonctions stockées:
la source
Si vous utilisez SQL Server 2005, les éléments suivants fonctionneront:
la source
Vous pouvez utiliser l'une des requêtes ci-dessous pour trouver la liste des procédures stockées dans une base de données:
Requête1:
Requête2:
Si vous souhaitez trouver la liste de tous les SP dans toutes les bases de données, vous pouvez utiliser la requête ci-dessous:
la source
Sélectionner toutes les procédures et vues stockées
la source
Cela peut également aider à répertorier la procédure à l'exception des procédures système:
la source
sys.all_objects
puisque vous filtrezis_ms_shipped=0
. Il peut contenir des déclencheurs DDL, mais ceux-ci seront filtrés partype='p'
. Vous pourriez aussi bien utilisersys.objects
.Malheureusement,
INFORMATION_SCHEMA
ne contient pas d'informations sur les procs du système.la source
sys.procedures where is_ms_shipped = 0
? Et pourquoi exécuter une fonctionobjectproperty(object_id, N'IsMSShipped')
pour chaque ligne alors qu'il y a un champis_ms_shipped
qui contient cette valeur? Dans le même ordre d'idées, pourquoi exécuter à nouveau cette fonction quand[type] IN ('P', 'PC')
fait la même chose? Cette méthode est inutilement compliquée et inefficace.Juste les noms:
la source
J'ai modifié l'excellent article de LostCajun ci-dessus pour exclure les procédures stockées du système. J'ai également supprimé "Extraire". du code parce que je ne pouvais pas comprendre à quoi il sert et cela m'a donné des erreurs. L'instruction "fetch next" à l'intérieur de la boucle avait également besoin d'une clause "into".
la source
la meilleure façon d'obtenir des objets est d'utiliser sys.sql_modules. vous pouvez trouver tout ce que vous voulez dans cette table et joindre cette table à une autre table pour obtenir plus d'informations par object_id
la source
la source
dbo.sys*
vues. Cette requête filtre également les procédures stockées CLR.J'ai écrit ce simple tsql pour lister le texte de toutes les procédures stockées. Assurez-vous de remplacer le nom de votre base de données dans le champ.
la source
Cela ne donnera que les noms des procédures stockées.
la source
Cela va montrer toutes les procédures stockées et le code:
la source
Ceci, listez tout ce que vous voulez
Dans Sql Server 2005, 2008, 2012:
OU
la source
sp_tables
. En outre, "PROCEDURE" n'est pas une option valide poursp_tables
. Les seules options pour@table_type
sont: «TABLEAU SYSTÈME», «TABLE» et «AFFICHER».Cela renverra tout le nom sp
la source
[type]
doit être[type] IN ('P', 'PC')
sinon vous filtrez tous les proc stockés CLR qui sont potentiellement là.Essayez ce lien codeplex, cet utilitaire aide à localiser toutes les procédures stockées à partir de la base de données SQL.
https://exportmssqlproc.codeplex.com/
la source
la source
Cela fonctionnera sur mssql.
la source
Sélectionnez la liste des procédures stockées dans SQL Server. Reportez-vous ici pour en savoir plus: https://coderrooms.blogspot.com/2017/06/select-list-of-stored-procedure-in-sql.html
la source
PaymentDetails
table. L'OP souhaite une liste des procédures stockées réelles.