Bagikan melalui


DROP PROCEDURE (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Menghapus satu atau beberapa prosedur tersimpan atau grup prosedur dari database saat ini di SQL Server.

Konvensi sintaks transact-SQL

Sintaks

Sintaks untuk SQL Server, Azure SQL Managed Instance, dan Azure SQL Database:

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

Sintaks untuk Azure Synapse Analytics, Analytics Platform System (PDW), dan Microsoft Fabric:

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

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

JIKA ADA

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, Azure SQL Managed Instance, dan Azure SQL Database

Secara kondisional menghilangkan prosedur hanya jika sudah ada.

schema_name

Nama skema tempat prosedur berada. Nama server atau nama database tidak dapat ditentukan.

Prosedur

Nama prosedur tersimpan atau grup prosedur tersimpan yang akan dihapus. Prosedur individual dalam grup prosedur bernomor tidak dapat dihilangkan; seluruh grup prosedur dihilangkan.

Praktik terbaik

Sebelum menghapus prosedur tersimpan, periksa objek dependen dan ubah objek ini sesuai. Menghilangkan prosedur tersimpan dapat menyebabkan objek dependen dan skrip gagal saat objek ini tidak diperbarui. Untuk informasi selengkapnya, lihat Menampilkan Dependensi Prosedur Tersimpan

Metadata

Untuk menampilkan daftar prosedur yang sudah ada, kueri sys.objects tampilan katalog. Untuk menampilkan definisi prosedur, kueri sys.sql_modules tampilan katalog.

Izin

CONTROL Memerlukan izin pada prosedur, atau ALTER izin pada skema tempat prosedur berada, atau keanggotaan dalam peran server tetap db_ddladmin.

Contoh

Contoh berikut menghapus prosedur tersimpan dbo.uspMyProc dalam database saat ini.

DROP PROCEDURE dbo.uspMyProc;
GO

Contoh berikut menghapus beberapa prosedur tersimpan dalam database saat ini.

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

Contoh berikut menghapus dbo.uspMyProc prosedur tersimpan jika ada tetapi tidak menyebabkan kesalahan jika prosedur tidak ada. Sintaks ini diperkenalkan dalam SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;
GO