DROP PROCEDURE (Transact-SQL)DROP PROCEDURE (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Entfernt eine oder mehrere gespeicherte Prozeduren oder Prozedurgruppen aus der aktuellen Datenbank in SQL Server 2017SQL Server 2017.Removes one or more stored procedures or procedure groups from the current database in SQL Server 2017SQL Server 2017.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

-- Syntax for SQL Server and Azure SQL Database  

DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ ,...n ]  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  

DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }  

ArgumenteArguments

IF VORHANDEN ISTIF EXISTS
Gilt für: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 bis zur aktuellen Version).Applies to: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 through current version).

Bedingt löscht die Prozedur nur, wenn sie bereits vorhanden ist.Conditionally drops the procedure only if it already exists.

schema_nameschema_name
Der Name des Schemas, zu dem die Prozedur gehört.The name of the schema to which the procedure belongs. Ein Servername oder Datenbankname kann nicht angegeben werden.A server name or database name cannot be specified.

Prozedurprocedure
Der Name der gespeicherten Prozedur bzw. der gespeicherten Prozedurgruppe, die entfernt werden soll.The name of the stored procedure or stored procedure group to be removed. Einzelne Prozeduren innerhalb einer nummerierten Prozedurgruppe können nicht gelöscht werden. Es wird die gesamte Prozedurgruppe gelöscht.Individual procedures within a numbered procedure group cannot be dropped; the whole procedure group is dropped.

Bewährte MethodenBest Practices

Überprüfen Sie abhängige Objekte, und ändern Sie diese Objekte entsprechend, bevor Sie eine gespeicherte Prozedur löschen.Before removing any stored procedure, check for dependent objects and modify these objects accordingly. Das Löschen einer gespeicherten Prozedur kann Fehler bei abhängigen Objekten und Skripts verursachen, wenn diese Objekte nicht aktualisiert werden.Dropping a stored procedure can cause dependent objects and scripts to fail when these objects are not updated. Weitere Informationen finden Sie unter Anzeigen der Abhängigkeiten einer gespeicherten ProzedurFor more information, see View the Dependencies of a Stored Procedure

MetadatenMetadata

Um eine Liste der vorhandenen Prozeduren anzuzeigen, Fragen Sie die sys.objects -Katalogsicht angezeigt.To display a list of existing procedures, query the sys.objects catalog view. Um die Definition der Prozedur anzuzeigen, Fragen Sie die sql_modules -Katalogsicht angezeigt.To display the procedure definition, query the sys.sql_modules catalog view.

SicherheitSecurity

BerechtigungenPermissions

Erfordert Steuerelement Berechtigung für die Prozedur oder ALTER -Berechtigung für das Schema, zu dem die Prozedur gehört, oder die Mitgliedschaft in der Db_ddladmin festen Serverrolle "" .Requires CONTROL permission on the procedure, or ALTER permission on the schema to which the procedure belongs, or membership in the db_ddladmin fixed server role.

BeispieleExamples

Im folgenden Beispiel wird die gespeicherte Prozedur dbo.uspMyProc aus der aktuellen Datenbank entfernt.The following example removes the dbo.uspMyProc stored procedure in the current database.

DROP PROCEDURE dbo.uspMyProc;  
GO  

Im folgenden Beispiel werden mehrere gespeicherte Prozeduren aus der aktuellen Datenbank entfernt.The following example removes several stored procedures in the current database.

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

Im folgenden Beispiel wird die dbo.uspMyProc gespeicherte Prozedur aus, wenn er vorhanden ist, aber bewirkt keinen Fehler aus, wenn die Prozedur nicht vorhanden ist.The following example removes the dbo.uspMyProc stored procedure if it exists but does not cause an error if the procedure does not exist. Diese Syntax ist neu in SQL Server 2016SQL Server 2016.This syntax is new in SQL Server 2016SQL Server 2016.

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

Siehe auchSee Also

ALTER PROCEDURE (Transact-SQL) ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL) CREATE PROCEDURE (Transact-SQL)
Sys.Objects ( Transact-SQL ) sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL) sys.sql_modules (Transact-SQL)
Löschen einer gespeicherten ProzedurDelete a Stored Procedure