sql server - valores - Lista SQL de todas las funciones definidas por el usuario en una base de datos
la última instrucción de una función debe ser una instrucción return sql (3)
Podría usar 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
Estoy buscando una consulta SQL que genere las definiciones de función para todas las funciones definidas por el usuario en un catálogo de base de datos.
He encontrado hasta
SELECT OBJECT_DEFINITION (OBJECT_ID(N''dbo.UserFunctionName'')) AS [Object Definition]
y
SELECT ROUTINE_NAME FROM information_schema.routines WHERE routine_type = ''function''
pero no puedo pensar o encontrar una manera de alimentar la lista de ROUTINE_NAME al OBJECT_ID.
El propósito aquí es un texto de búsqueda de las definiciones de funciones definidas por el usuario en una base de datos para el análisis de cambios de base de datos, si algo como un procedimiento completo de SQL o un programa de ayuda con propósito es más fácil, lo haré y lo publicaré.
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'')
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%''