DROP SCHEMA (SQL Transaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Menghapus skema dari database.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Syntax for SQL Server and Azure SQL Database  
  
DROP SCHEMA  [ IF EXISTS ] schema_name  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  
  
DROP SCHEMA schema_name  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

IF EXISTS
Berlaku untuk: SQL Server ( SQL Server 2016 (13.x) melalui versi saat ini).

Secara kondisional menghilangkan skema hanya jika sudah ada.

nama_skema
Adalah nama di mana skema diketahui dalam database.

Keterangan

Skema yang sedang dihilangkan tidak boleh berisi objek apa pun. Jika skema berisi objek, pernyataan DROP gagal.

Informasi tentang skema terlihat dalam tampilan katalog sys.schemas .

Hati Dimulai dengan SQL Server 2005, perilaku skema berubah. Akibatnya, kode yang mengasumsikan bahwa skema setara dengan pengguna database mungkin tidak lagi mengembalikan hasil yang benar. Tampilan katalog lama, termasuk sysobject, tidak boleh digunakan dalam database di mana salah satu pernyataan DDL berikut pernah digunakan: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. Dalam database tersebut Anda harus menggunakan tampilan katalog baru. Tampilan katalog baru memperhitungkan pemisahan prinsipal dan skema yang diperkenalkan pada SQL Server 2005. Untuk informasi selengkapnya tentang tampilan katalog, lihat Tampilan Katalog (SQL Transact).

Izin

Memerlukan izin CONTROL pada skema atau izin UBAH SKEMA APA PUN pada database.

Contoh

Contoh berikut dimulai dengan satu CREATE SCHEMA pernyataan. Pernyataan membuat skema Sprockets yang dimiliki oleh Krishna dan tabel Sprockets.NineProngs, lalu memberikan SELECT izin ke Anibal dan menolak SELECT izin ke Hung-Fu.

CREATE SCHEMA Sprockets AUTHORIZATION Krishna   
    CREATE TABLE NineProngs (source INT, cost INT, partnumber INT)  
    GRANT SELECT TO Anibal   
    DENY SELECT TO [Hung-Fu];  
GO  

Pernyataan berikut menghilangkan skema. Perhatikan bahwa Anda harus terlebih dahulu menghilangkan tabel yang dimuat oleh skema.

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO  

Lihat juga

CREATE SCHEMA (Transact-SQL)
ALTER SCHEMA (Transact-SQL)
DROP SCHEMA (SQL Transaksi)
EVENTDATA (SQL Transaksi)