Udostępnij za pomocą


PROCEDURA UPUSZCZANIA (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Usuwa jedną lub więcej procedur lub grup procedur przechowywanych z aktualnej bazy danych w SQL Server.

Transact-SQL konwencje składni

Składnia

Składnia dla programu SQL Server, usługi Azure SQL Managed Instance i usługi Azure SQL Database:

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

Składnia dla usług Azure Synapse Analytics, Analytics Platform System (PDW) i Microsoft Fabric:

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

Arguments

JEŚLI ISTNIEJE

Dotyczy do: SQL Server 2016 (13.x) i nowszych wersji, Azure SQL Managed Instance oraz Azure SQL Database

Warunkowo rezygnuje z procedury tylko wtedy, gdy już istnieje.

schema_name

Nazwa schematu, do którego należy procedura. Nie można podać nazwy serwera ani nazwy bazy danych.

procedura

Nazwa procedury przechowywanej lub grupy procedur przechowywanych, które mają zostać usunięte. Pojedyncze procedury w ramach numerowanej grupy procedur nie mogą być odrzucane; Cała grupa proceduralna zostaje usunięta.

Najlepsze rozwiązania

Przed usunięciem jakiejkolwiek procedury przechowywanej sprawdź obiekty zależne i odpowiednio je zmodyfikuj. Rezygnacja z procedury przechowywanej może spowodować awarię obiektów zależnych i skryptów, gdy te obiekty nie są aktualizowane. Więcej informacji można znaleźć w sekcji Zobacz zależności procedury przechowywanej

Metadane

Aby wyświetlić listę istniejących procedur, zapytaj widok sys.objects katalogowy. Aby wyświetlić definicję procedury, zapytaj widok sys.sql_modules katalogowy.

Permissions

Wymaga CONTROL zgody na procedurę lub ALTER na schemat, do którego procedura należy, lub członkostwa w roli serwera stałego db_ddladmin .

Przykłady

Poniższy przykład usuwa procedurę przechowywaną dbo.uspMyProc z aktualnej bazy danych.

DROP PROCEDURE dbo.uspMyProc;
GO

Poniższy przykład usuwa kilka procedur przechowywanych z bieżącej bazy danych.

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

Poniższy przykład usuwa procedurę dbo.uspMyProc przechowywaną, jeśli istnieje, ale nie powoduje błędu, jeśli procedura nie istnieje. Ta składnia została wprowadzona w SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;
GO