DROP PROCEDURE (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Entfernt eine oder mehrere gespeicherte Prozeduren oder Prozedurgruppen aus der aktuellen Datenbank in SQL Server.

Transact-SQL-Syntaxkonventionen

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 }  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

IF EXISTS
Gilt für: SQL Server (SQL Server 2016 (13.x) bis zur aktuellen Version).

Löscht die Standardprozedur nur, wenn diese bereits vorhanden ist.

schema_name
Der Name des Schemas, zu dem die Prozedur gehört. Ein Servername oder Datenbankname kann nicht angegeben werden.

procedure
Der Name der gespeicherten Prozedur bzw. der gespeicherten Prozedurgruppe, die entfernt werden soll. Einzelne Prozeduren innerhalb einer nummerierten Prozedurgruppe können nicht gelöscht werden. Es wird die gesamte Prozedurgruppe gelöscht.

Bewährte Methoden

Überprüfen Sie abhängige Objekte, und ändern Sie diese Objekte entsprechend, bevor Sie eine gespeicherte Prozedur löschen. Das Löschen einer gespeicherten Prozedur kann Fehler bei abhängigen Objekten und Skripts verursachen, wenn diese Objekte nicht aktualisiert werden. Weitere Informationen finden Sie unter Anzeigen der Abhängigkeiten einer gespeicherten Prozedur.

Metadaten

Fragen Sie die sys.objects-Katalogsicht ab, um eine Liste der vorhandenen Prozeduren anzuzeigen. Fragen Sie zur Anzeige der Prozedurdefinitionen die sys.sql_modules-Katalogsicht ab.

Sicherheit

Berechtigungen

Erfordert die CONTROL-Berechtigung für die Prozedur oder die ALTER-Berechtigung für das Schema, zu dem die Prozedur gehört, oder die Mitgliedschaft in der festen Serverrolle db_ddladmin.

Beispiele

Im folgenden Beispiel wird die gespeicherte Prozedur dbo.uspMyProc aus der aktuellen Datenbank entfernt.

DROP PROCEDURE dbo.uspMyProc;  
GO  

Im folgenden Beispiel werden mehrere gespeicherte Prozeduren aus der aktuellen Datenbank entfernt.

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

Im folgenden Beispiel wird die gespeicherte Prozedur dbo.uspMyProc entfernt, wenn diese vorhanden ist. Es wird jedoch kein Fehler ausgelöst, wenn die Prozedur nicht vorhanden ist. Die Syntax ist in SQL Server 2016 (13.x) neu.

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

Weitere Informationen

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
Löschen einer gespeicherten Prozedur