Delen via


DROPPROCEDURE (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Verwijdert één of meer opgeslagen procedures of proceduregroepen uit de huidige database in SQL Server.

Transact-SQL syntaxis-conventies

Syntaxis

Syntaxis voor SQL Server, Azure SQL Managed Instance en Azure SQL Database:

DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ , ...n ]

Syntaxis voor Azure Synapse Analytics, Analytics Platform System (PDW) en Microsoft Fabric:

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

Arguments

INDIEN AANWEZIG

Van toepassing op: SQL Server 2016 (13.x) en latere versies, Azure SQL Managed Instance en Azure SQL Database

Voorwaardelijk stopt de procedure alleen als deze al bestaat.

schema_name

De naam van het schema waartoe de procedure behoort. Een servernaam of databasenaam kan niet worden gespecificeerd.

procedure

De naam van de opgeslagen procedure of opgeslagen proceduregroep die verwijderd moet worden. Individuele procedures binnen een genummerde proceduregroep kunnen niet worden weggelaten; De hele proceduregroep wordt verwijderd.

Beste praktijken

Controleer voordat je een opgeslagen procedure verwijdert op afhankelijke objecten en pas deze objecten dienovereenkomstig aan. Het verwijderen van een opgeslagen procedure kan ervoor zorgen dat afhankelijke objecten en scripts falen wanneer deze objecten niet worden bijgewerkt. Voor meer informatie, zie Bekijk de afhankelijkheden van een opgeslagen procedure

Metagegevens

Om een lijst van bestaande procedures weer te geven, raadpleeg de sys.objects catalogusweergave. Om de proceduredefinitie weer te geven, raadpleeg de sys.sql_modules catalogusweergave.

Permissions

Vereist CONTROL toestemming voor de procedure, of ALTER toestemming voor het schema waartoe de procedure behoort, of lidmaatschap van de db_ddladmin vaste serverrol.

Voorbeelden

Het volgende voorbeeld verwijdert de dbo.uspMyProc opgeslagen procedure in de huidige database.

DROP PROCEDURE dbo.uspMyProc;
GO

Het volgende voorbeeld verwijdert verschillende opgeslagen procedures in de huidige database.

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

Het volgende voorbeeld verwijdert de dbo.uspMyProc opgeslagen procedure als deze bestaat, maar veroorzaakt geen fout als de procedure niet bestaat. Deze syntaxis werd geïntroduceerd in SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;
GO