Liste SQL de toutes les fonctions définies par l'utilisateur dans une base de données
Je suis à la recherche d'une requête SQL qui affiche les définitions de fonctions pour toutes les fonctions définies par l'utilisateur dans un catalogue de base de données.
J'ai trouvé aussi loin que
SELECT OBJECT_DEFINITION (OBJECT_ID(N'dbo.UserFunctionName')) AS [Object Definition]
Et
SELECT ROUTINE_NAME FROM information_schema.routines WHERE routine_type = 'function'
Mais je ne peux pas penser ou trouver un moyen de nourrir la liste ROUTINE_NAME à L'OBJECT_ID.
Le but ici est un texte consultable des définitions de fonctions définies par l'utilisateur dans une base de données pour l'analyse des modifications de base de données, si quelque chose comme une procédure SQL complète ou un programme d'assistance plus facile, je vais le faire et le poster.
26
demandé sur
Kermit
2013-03-15 01:08:06
3 réponses
SELECT name, definition, type_desc
FROM sys.sql_modules m
INNER JOIN sys.objects o
ON m.object_id=o.object_id
WHERE type_desc like '%function%'
43
répondu
RandomUs1r
2016-06-10 08:11:56
Vous pouvez utiliser un CTE:
with functions(routine_name) as
(SELECT ROUTINE_NAME FROM information_schema.routines WHERE routine_type = 'function')
select
OBJECT_DEFINITION(OBJECT_ID(routine_name)) AS [Object Definition]
from
functions
6
répondu
Geoff
2013-03-14 21:16:35
SELECT O.name, M.definition, O.type_desc, O.type
FROM sys.sql_modules M
INNER JOIN sys.objects O ON M.object_id=O.object_id
WHERE O.type IN ('IF','TF','FN')
1
répondu
Srikanth CHindam
2017-06-06 19:08:07