DROP PROCEDURE (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Entfernt eine oder mehrere gespeicherte Prozeduren oder Prozedurgruppen aus der aktuellen Datenbank in SQL Server.
Transact-SQL-Syntaxkonventionen
Syntax
Syntax für SQL Server, Azure SQL verwaltete Instanz und Azure SQL-Datenbank:
DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ , ...n ]
Syntax für Azure Synapse Analytics, Analytics Platform System (PDW) und Microsoft Fabric:
DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }
Argumente
IF EXISTS
Gilt für: SQL Server 2016 (13.x) und höhere Versionen, Azure SQL verwaltete Instanz und Azure SQL-Datenbank
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. Die gesamte Prozedurgruppe wird 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 Ablegen einer gespeicherten Prozedur kann dazu führen, dass abhängige Objekte und Skripts fehlschlagen, wenn diese Objekte nicht aktualisiert werden. Weitere Informationen finden Sie unter Anzeigen der Abhängigkeiten einer gespeicherten Prozedur.
Metadaten
Um eine Liste vorhandener Prozeduren anzuzeigen, fragen Sie die sys.objects
Katalogansicht ab. Um die Prozedurdefinition anzuzeigen, fragen Sie die sys.sql_modules
Katalogansicht ab.
Berechtigungen
Erfordert CONTROL
die Berechtigung für die Prozedur oder ALTER
die Berechtigung für das Schema, zu dem die Prozedur gehört, oder die Mitgliedschaft in der db_ddladmin festen Serverrolle.
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 dbo.uspMyProc
gespeicherte Prozedur entfernt, wenn sie vorhanden ist, aber keinen Fehler verursacht, wenn die Prozedur nicht vorhanden ist. Diese Syntax wurde in SQL Server 2016 (13.x) eingeführt.
DROP PROCEDURE IF EXISTS dbo.uspMyProc;
GO