반응형
데이터베이스에 있는 모든 사용자 정의 함수의 SQL 목록
데이터베이스 카탈로그의 모든 사용자 정의 함수에 대한 함수 정의를 출력하는 SQL 쿼리를 찾고 있습니다.
까지 찾아냈습니다.
SELECT OBJECT_DEFINITION (OBJECT_ID(N'dbo.UserFunctionName')) AS [Object Definition]
그리고.
SELECT ROUTINE_NAME FROM information_schema.routines WHERE routine_type = 'function'
하지만 ROINTINE_NAME 목록을 OBJECT_ID에 제공할 방법을 생각할 수도 없고 찾을 수도 없습니다.
여기서의 목적은 데이터베이스 변경 분석을 위해 데이터베이스에서 사용자 정의 함수 정의의 검색 가능한 텍스트입니다. 전체 SQL 프로시저나 목적의 도우미 프로그램과 같은 것이 더 쉬울 경우, 저는 그렇게 하고 게시하겠습니다.
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%'
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
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 *
FROM DIDS0100.INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'FUNCTION'
AND LEFT(ROUTINE_NAME, 3) NOT IN ('fn_')
다음은 스키마가 포함된 버전이며 불필요한 스칼라 값 함수를 대량으로 삭제할 수 있도록 포맷된 버전입니다.
SELECT ('DROP FUNCTION [' + SCHEMA_NAME(o.schema_id) + '].[' + o.name + ']') AS ObjectName
FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id = o.object_id
WHERE o.type_desc = 'SQL_SCALAR_FUNCTION'
ORDER BY ObjectName
모든 SQL Server 저장 프로시저 및 함수에 대한 매개 변수 목록 생성
SELECT
SCHEMA_NAME(SCHEMA_ID) AS [Schema]
,SO.name AS [ObjectName]
,SO.Type_Desc AS [ObjectType (UDF/SP)]
,P.parameter_id AS [ParameterID]
,P.name AS [ParameterName]
,TYPE_NAME(P.user_type_id) AS [ParameterDataType]
,P.max_length AS [ParameterMaxBytes]
,P.is_output AS [IsOutPutParameter]
FROM sys.objects AS SO
INNER JOIN sys.parameters AS P ON SO.OBJECT_ID = P.OBJECT_ID
ORDER BY [Schema], SO.name, P.parameter_id
언급URL : https://stackoverflow.com/questions/15420235/sql-list-of-all-the-user-defined-functions-in-a-database
반응형
'bestsource' 카테고리의 다른 글
명령줄에서 SQL 스크립트 실행 (0) | 2023.07.08 |
---|---|
리베이스 후 Git 분기가 분기되었습니다. (0) | 2023.07.08 |
Git 사용자를 위한 Perforce? (0) | 2023.07.08 |
유형 오류: JSX 요소 유형 '{} | null | defined'는 JSX 요소에 대한 생성자 함수가 아닙니다. (0) | 2023.07.08 |
Junit 테스트를 사용하여 명령줄 인수를 Spring Boot 응용 프로그램에 전달 (0) | 2023.07.03 |