다음을 통해 공유


ROUTINES(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

현재 데이터베이스의 현재 사용자가 액세스할 수 있는 각 저장 프로시저 및 함수에 대해 하나의 행을 반환합니다. 반환 값을 설명하는 열은 함수에만 적용됩니다. 저장 프로시저의 경우 이러한 열은 NULL입니다.

이러한 뷰에서 정보를 검색하려면 정규화된 INFORMATION_SCHEMA 이름을 지정합니다.view_name.

참고 항목

ROUTINE_DEFINITION 열에는 함수 또는 저장 프로시저를 만든 소스 문이 포함됩니다. 이러한 소스 문은 포함된 캐리지 리턴을 포함할 가능성이 높습니다. 이 열을 텍스트 형식으로 결과를 표시하는 애플리케이션에 반환하는 경우 ROUTINE_DEFINITION 결과에 포함된 캐리지 반환이 전체 결과 집합의 서식에 영향을 줄 수 있습니다. ROUTINE_DEFINITION 열을 선택하는 경우 포함된 캐리지 리턴에 맞게 조정해야 합니다. 예를 들어 결과 집합을 그리드로 반환하거나 ROUTINE_DEFINITION 자체 텍스트 상자에 반환합니다.

열 이름 데이터 형식 설명
SPECIFIC_CATALOG nvarchar(128) 카탈로그의 특정 이름입니다. 이 이름은 ROUTINE_CATALOG 동일합니다.
SPECIFIC_SCHEMA nvarchar(128) 스키마의 특정 이름입니다.

** 중요 ** INFORMATION_SCHEMA 뷰를 사용하여 개체의 스키마를 결정하지 마세요. INFORMATION_SCHEMA 뷰는 개체 메타데이터의 하위 집합만 나타냅니다. 개체의 스키마를 찾는 유일한 신뢰할 수 있는 방법은 카탈로그 뷰를 쿼리하는 sys.objects 것입니다.
SPECIFIC_NAME nvarchar(128) 카탈로그의 특정 이름입니다. 이 이름은 ROUTINE_NAME과 동일합니다.
ROUTINE_CATALOG nvarchar(128) 함수의 카탈로그 이름입니다.
ROUTINE_SCHEMA nvarchar(128) 이 함수를 포함하는 스키마의 이름입니다.

** 중요 ** INFORMATION_SCHEMA 뷰를 사용하여 개체의 스키마를 결정하지 마세요. INFORMATION_SCHEMA 뷰는 개체 메타데이터의 하위 집합만 나타냅니다. 개체의 스키마를 찾는 유일한 신뢰할 수 있는 방법은 카탈로그 뷰를 쿼리하는 sys.objects 것입니다.
ROUTINE_NAME nvarchar(128) 함수의 이름입니다.
ROUTINE_TYPE nvarchar(20) 저장 프로시저에 대한 PROCEDURE 및 함수의 FUNCTION을 반환합니다.
MODULE_CATALOG nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
MODULE_SCHEMA nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
MODULE_NAME nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
UDT_CATALOG nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
UDT_SCHEMA nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
UDT_NAME nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
DATA_TYPE nvarchar(128) 함수 반환 값의 데이터 형식입니다. 테이블 반환 함수인 경우 테이블을 반환합니다.
CHARACTER_MAXIMUM_LENGTH int 반환 형식이 문자 형식인 경우 최대 길이를 문자 단위로 표시한 것입니다.

xml 및 큰 값 형식 데이터의 경우 -1입니다.
CHARACTER_OCTET_LENGTH int 반환 형식이 문자 형식인 경우 최대 길이(바이트)입니다.

xml 및 큰 값 형식 데이터의 경우 -1입니다.
COLLATION_CATALOG nvarchar(128) 항상 NULL을 반환합니다.
COLLATION_SCHEMA nvarchar(128) 항상 NULL을 반환합니다.
COLLATION_NAME nvarchar(128) 반환 값의 데이터 정렬 이름입니다. 비문자 형식의 경우 NULL을 반환합니다.
CHARACTER_SET_CATALOG nvarchar(128) 항상 NULL을 반환합니다.
CHARACTER_SET_SCHEMA nvarchar(128) 항상 NULL을 반환합니다.
CHARACTER_SET_NAME nvarchar(128) 반환 값의 문자 집합 이름입니다. 비문자 형식의 경우 NULL을 반환합니다.
NUMERIC_PRECISION smallint 반환 값의 숫자 전체 자릿수입니다. 숫자가 아닌 형식의 경우 NULL을 반환합니다.
NUMERIC_PRECISION_RADIX smallint 반환 값의 숫자 전체 자릿수 기수입니다. 숫자가 아닌 형식의 경우 NULL을 반환합니다.
NUMERIC_SCALE smallint 반환 값의 배율입니다. 숫자가 아닌 형식의 경우 NULL을 반환합니다.
DATETIME_PRECISION smallint 반환 값이 datetime 형식인 경우 초의 소수 자릿수입니다. 그렇지 않으면 NULL을 반환합니다.
INTERVAL_TYPE nvarchar(30) NULL. 향후 사용을 위해 예약되어 있습니다.
INTERVAL_PRECISION smallint NULL. 향후 사용을 위해 예약되어 있습니다.
TYPE_UDT_CATALOG nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
TYPE_UDT_SCHEMA nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
TYPE_UDT_NAME nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
SCOPE_CATALOG nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
SCOPE_SCHEMA nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
SCOPE_NAME nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
MAXIMUM_CARDINALITY bigint NULL. 향후 사용을 위해 예약되어 있습니다.
DTD_IDENTIFIER nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
ROUTINE_BODY nvarchar(30) Transact-SQL 함수의 경우 SQL을 반환하고 외부로 작성된 함수의 경우 EXTERNAL을 반환합니다.

함수는 항상 SQL입니다.
ROUTINE_DEFINITION nvarchar(4000) 함수 또는 저장 프로시저가 암호화되지 않은 경우 함수 또는 저장 프로시저의 정의 텍스트 중 처음 4000자를 반환합니다. 그렇지 않으면 NULL을 반환합니다.

전체 정의를 가져오려면 OBJECT_DEFINITION 함수 또는 sys.sql_modules 카탈로그 뷰의 정의 열을 쿼리합니다.
EXTERNAL_NAME nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
EXTERNAL_LANGUAGE nvarchar(30) NULL. 향후 사용을 위해 예약되어 있습니다.
PARAMETER_STYLE nvarchar(30) NULL. 향후 사용을 위해 예약되어 있습니다.
IS_DETERMINISTIC nvarchar(10) 루틴이 결정적이면 YES를 반환합니다.

루틴이 확정적이지 않은 경우에는 NO를 반환합니다.

저장 프로시저에 대해 항상 NO를 반환합니다.
SQL_DATA_ACCESS nvarchar(30) 다음 값 중 하나를 반환합니다.

NONE = 함수에 SQL이 포함되어 있지 않습니다.

CONTAINS = 함수에 SQL이 포함될 수 있습니다.

READS = 함수가 SQL 데이터를 읽을 수 있습니다.

MODIFIES = 함수에서 SQL 데이터를 수정할 수 있습니다.

모든 함수의 경우에는 READS를, 모든 저장 프로시저의 경우에는 MODIFIES를 반환합니다.
IS_NULL_CALL nvarchar(10) 인수 중 하나가 NULL인 경우 루틴을 호출할지 여부를 나타냅니다.
SQL_PATH nvarchar(128) NULL. 향후 사용을 위해 예약되어 있습니다.
SCHEMA_LEVEL_ROUTINE nvarchar(10) 스키마 수준 함수인 경우 YES를 반환하고, 스키마 수준 함수가 아니면 NO를 반환합니다.

항상 YES를 반환합니다.
MAX_DYNAMIC_RESULT_SETS smallint 루틴에서 반환되는 동적 결과 집합의 최대 수입니다.

함수인 경우 0을 반환합니다.
IS_USER_DEFINED_CAST nvarchar(10) 사용자 정의 캐스트 함수인 경우에는 YES를, 사용자 정의 캐스트 함수가 아닌 경우에는 NO를 반환합니다.

항상 NO를 반환합니다.
IS_IMPLICITLY_INVOCABLE nvarchar(10) 루틴을 암시적으로 호출할 수 있으면 YES를 반환하고, 함수를 암시적으로 호출할 수 없으면 NO를 반환합니다.

항상 NO를 반환합니다.
CREATED 날짜/시간 루틴이 만들어진 시간입니다.
LAST_ALTERED 날짜/시간 함수를 마지막으로 수정한 시간입니다.

참고 항목

시스템 뷰(Transact-SQL)
정보 스키마 뷰(Transact-SQL)
sys.columns(Transact-SQL)
sys.objects(Transact-SQL)
sys.procedures(Transact-SQL)
sys.sql_modules(Transact-SQL)