Freigeben über


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