sp_stored_procedures(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

현재 환경의 저장 프로시저 목록을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

sp_stored_procedures
    [ [ @sp_name = ] N'sp_name' ]
    [ , [ @sp_owner = ] N'sp_owner' ]
    [ , [ @sp_qualifier = ] N'sp_qualifier' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

인수

[ @sp_name = ] N'sp_name'

카탈로그 정보를 반환하는 데 사용되는 프로시저의 이름입니다. @sp_name 기본값NULL인 nvarchar(390)입니다. 와일드카드 패턴 일치가 지원됩니다.

[ @sp_owner = ] N'sp_owner'

프로시저가 속한 스키마의 이름입니다. @sp_owner 기본값NULL인 nvarchar(384)입니다. 와일드카드 패턴 일치가 지원됩니다. @sp_owner 지정되지 않은 경우 기본 DBMS(데이터베이스 관리 시스템)의 기본 프로시저 표시 유형 규칙이 적용됩니다.

SQL Server에서 현재 스키마에 지정된 이름의 프로시저가 포함되어 있으면 해당 프로시저가 반환됩니다. 정규화되지 않은 저장 프로시저를 지정하면 데이터베이스 엔진 다음 순서로 프로시저를 검색합니다.

  • 현재 데이터베이스의 sys 스키마.

  • 일괄 처리 또는 동적 SQL에서 실행되는 경우 호출자의 기본 스키마입니다. 또는 정규화되지 않은 프로시저 이름이 다른 프로시저 정의의 본문 내에 나타나면 이 다른 프로시저가 포함된 스키마가 다음에 검색됩니다.

  • 현재 데이터베이스의 dbo 스키마

[ @sp_qualifier = ] N'sp_qualifier'

프로시저 한정자의 이름입니다. @sp_qualifier sysname이며 기본값은 .입니다NULL. 다양한 DBMS 제품은 형식 <qualifier>.<schema>.<name>의 테이블에 대해 세 부분으로 구성된 명명을 지원합니다. SQL Server에서 @sp_qualifier 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블의 데이터베이스 환경 서버 이름을 나타냅니다.

[ @fUsePattern = ] fUsePattern

밑줄(), 백분율(_) 또는 대괄호(%[])가 야생 문자로 해석되는지 여부를 결정합니다카드. @fUsePattern 비트이며 기본값은 .입니다1.

  • 0 = 패턴 일치가 해제되었습니다.
  • 1 = 패턴 일치가 켜집니다.

반환 코드 값

없음

결과 집합

열 이름 데이터 형식 설명
PROCEDURE_QUALIFIER sysname 프로시저 한정자 이름입니다. 이 열은 .일 NULL수 있습니다.
PROCEDURE_OWNER sysname 프로시저 소유자 이름입니다. 이 열은 항상 값을 반환합니다.
PROCEDURE_NAME nvarchar(134) 프로시저 이름입니다. 이 열은 항상 값을 반환합니다.
NUM_INPUT_PARAMS int 향후 사용을 위해 예약되어 있습니다.
NUM_OUTPUT_PARAMS int 향후 사용을 위해 예약되어 있습니다.
NUM_RESULT_SETS int 향후 사용을 위해 예약되어 있습니다.
REMARKS varchar(254) 프로시저에 대한 설명입니다. SQL Server는 이 열에 대한 값을 반환하지 않습니다.
PROCEDURE_TYPE smallint 프로시저 유형입니다. SQL Server는 항상 2.0을 반환합니다. 이 값은 다음 옵션 중 하나일 수 있습니다.

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

설명

최대 상호 운용성을 위해 게이트웨이 클라이언트는 SQL 표준 패턴 일치, 즉 백분율() 및 밑줄(%_) 와일드카드 문자만 가정해야 합니다.

현재 사용자의 특정 저장 프로시저에 대한 실행 액세스 권한 정보는 반드시 검사 것은 아니므로 액세스가 보장되지는 않습니다. 세 부분으로 구성된 이름만 사용됩니다. 즉, 원격 저장 프로시저(네 부분으로 구성된 이름 지정 필요)가 아닌 로컬 저장 프로시저만 SQL Server에 대해 실행될 때 반환됩니다. 서버 특성 ACCESSIBLE_SPROC 이 결과 집합 sp_server_info에서 Y이면 현재 사용자가 실행할 수 있는 저장 프로시저만 반환됩니다.

sp_stored_procedures 는 ODBC와 동일합니다 SQLProcedures . 반환된 결과는 , PROCEDURE_OWNERPROCEDURE_NAME.로 PROCEDURE_QUALIFIER정렬됩니다.

사용 권한

스키마에 SELECT 대한 권한이 필요합니다.

예제

A. 현재 데이터베이스의 모든 저장 프로시저 반환

다음 예제에서는 AdventureWorks2022 데이터베이스의 모든 저장 프로시저를 반환합니다.

USE AdventureWorks2022;
GO
EXEC sp_stored_procedures;

B. 단일 저장 프로시저 반환

다음 예제에서는 저장 프로시저에 대한 결과 집합을 uspLogError 반환합니다.

USE AdventureWorks2022;
GO

sp_stored_procedures N'uspLogError',
    N'dbo',
    N'AdventureWorks2022',
    1;