DROP PROCEDURE(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

SQL Server의 현재 데이터베이스에서 하나 이상의 저장 프로시저나 프로시저 그룹을 제거합니다.

Transact-SQL 구문 표기 규칙

Syntax

-- Syntax for SQL Server and Azure SQL Database  
  
DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ ,...n ]  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
  
DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

IF EXISTS
적용 대상: SQL Server (SQL Server 2016(13.x) ~ 현재 버전).

이미 있는 경우에만 프로시저를 조건부로 삭제합니다.

schema_name
프로시저가 속한 스키마의 이름입니다. 서버 이름이나 데이터베이스 이름을 지정할 수 없습니다.

procedure
제거할 저장 프로시저나 저장 프로시저 그룹의 이름입니다. 번호를 매긴 프로시저 그룹 내의 개별 프로시저는 삭제할 수 없으며 전체 프로시저 그룹이 삭제됩니다.

모범 사례

저장 프로시저를 제거하기 전에 종속 개체를 확인하여 적절하게 수정합니다. 저장 프로시저를 삭제하고 종속 개체를 업데이트하지 않으면 해당 개체 및 스크립트에서 오류가 발생할 수 있습니다. 자세한 내용은 저장 프로시저의 종속성 보기를 참조하세요.

메타데이터

기존 프로시저 목록을 표시하려면 sys.objects 카탈로그 뷰를 쿼리하세요. 프로시저 정의를 표시하려면 sys.sql_modules 카탈로그 뷰를 쿼리하세요.

보안

사용 권한

프로시저에 대한 CONTROL 권한, 프로시저가 속한 스키마에 대한 ALTER 권한 또는 db_ddladmin 고정 서버 역할의 멤버 자격이 필요합니다.

예제

다음 예에서는 현재 데이터베이스의 dbo.uspMyProc 저장 프로시저를 제거합니다.

DROP PROCEDURE dbo.uspMyProc;  
GO  

다음 예에서는 현재 데이터베이스의 여러 저장 프로시저를 제거합니다.

DROP PROCEDURE dbo.uspGetSalesbyMonth, dbo.uspUpdateSalesQuotes, dbo.uspGetSalesByYear;  

다음 예제에서는 프로시저가 존재하지만 해당 프로시저가 없어도 오류가 발생하지 않으면 현재 데이터베이스에서 dbo.uspMyProc 저장 프로시저를 제거합니다. 이 구문은 SQL Server 2016(13.x)의 새로운 구문입니다.

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

참고 항목

ALTER PROCEDURE(Transact-SQL)
CREATE PROCEDURE(Transact-SQL)
sys.objects(Transact-SQL)
sys.sql_modules(Transact-SQL)
저장 프로시저 삭제