Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te Depo
Bir veya daha fazla tablo tanımını ve bu tablolar için tüm veri, indeksleri, tetikleyicileri, kısıtlamaları ve izin spesifikasyonlarını kaldırır. Bırakılan tabloya referans veren herhangi bir görünüm veya saklanan prosedür, DROP VIEW veya DROP PROCEDURE kullanılarak açıkça bırakılmalıdır. Bir tablodaki bağımlılıkları bildirmek için sys.dm_sql_referencing_entities kullanın.
Transact-SQL söz dizimi kuralları
Sözdizimi
-- Syntax for SQL Server, Azure SQL Database, Warehouse in Microsoft Fabric
DROP TABLE [ IF EXISTS ] { database_name.schema_name.table_name | schema_name.table_name | table_name } [ ,...n ]
[ ; ]
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
DROP TABLE { database_name.schema_name.table_name | schema_name.table_name | table_name }
[;]
Arguments
database_name
Tablonun oluşturulduğu veritabanının adıdır.
Azure SQL Veritabanı, mevcut veritabanı olduğunda veya database_nameobject_nametempdb olduğunda ve ile # başlarken üç bölümlü isim formatını database_name.schema_name.object_namedatabase_name destekler.## Azure SQL Database dört parçalı isimleri desteklemez.
VARSA İSE
Şunlar için geçerlidir: SQL Server ( geçerli sürüm aracılığıyla SQL Server 2016 (13.x).
Tablo koşullu olarak sadece zaten varsa düşürülür.
schema_name
Tablonun ait olduğu şemanın adıdır.
table_name
Tablonun adı kaldırılacak mı?
Açıklamalar
DROP TABLE Bir kısıtlama ile referans FOREIGN KEY verilen bir tabloyu düşürmek için kullanılamaz. Referans FOREIGN KEY kısıtlaması veya referans tablosu önce kaldırılmalıdır.
Aynı DROP TABLE ifadede birden fazla tablo bırakılabilir. Bir kısıtlamadaki referans tablosu FOREIGN KEY ve referans verilen birincil veya benzersiz anahtara sahip tablo aynı DROP TABLE ifadede düşürülüyorsa, referans tablosu önce listelenmelidir.
Tablo bırakıldığında, tablodaki kurallar veya varsayılanlar bağlamalarını kaybeder ve tabloyla ilişkili tüm kısıtlamalar veya tetikleyiciler otomatik olarak bırakılır. Tabloyu yeniden oluşturursanız, uygun kuralları ve varsayılanları yeniden bağlamanız, tetikleyicileri yeniden oluşturmanız ve tüm gerekli kısıtlamaları eklemeniz gerekir.
Bir tablodaki tüm satırları ifadeyi DELETE veya ifadeyi TRUNCATE TABLE kullanarak silerseniz, tablo tanımı bırakılana kadar DROP TABLEvar olur.
Eğer bu FILESTREAM öznitelikle bir varbinary(max) sütun içeren bir tablo düşürülürse, dosya sisteminde saklanan veriler kaldırılmaz.
Bir defter tablosu düşürüldüğünde, bağımlı nesneleri (geçmiş tablosu ve defter görünümü) de düşürülür. Bir tarih tablosu veya defter görünümü doğrudan bırakılamaz. Sistem, defter tabloları ve bağımlı nesneler bırakıldığında yumuşak silme anlamını zorunlu kılar – aslında kaldırılmazlar, sistem katalog görünümlerinde bırakılmış olarak işaretlenir ve yeniden adlandırılırlar. Daha fazla bilgi için Defterin değerlendirmeleri ve sınırlamaları sayfasına bakınız.
Önemli
DROP TABLE ve CREATE TABLE aynı masada, aynı partide yürütülmemeli. Aksi takdirde beklenmeyen bir hata oluşabilir.
Fabric SQL veritabanında, bir tablo düşürüldüğünde, hem veritabanından hem de Fabric OneLake'den düşürülür. Düşürülen tablo için tüm yansıtılmış veriler kaldırılır.
Ertelenmiş dağıtım
Bir tablo kaldırıldığında ve tablo veya indeksleri 128 veya daha fazla kapsama sahip olduğunda, Veritabanı Motoru gerçek sayfa açılış noktalarını ve ilgili kilitleri işlem tamamlandıktan sonra erteler. Tablo ve indeksler iki ayrı aşamada bırakılır: mantıksal ve fiziksel. Mantıksal aşamada, mevcut tahsis birimleri dağıtım için işaretlenir ve işlem gerçekleşene kadar kilitlenir. Fiziksel aşamada, bir arka plan işlemi dağıtım için işaretlenmiş sayfaları kaldırır. Bu da boşaltılan DROP TABLE alanın hemen yeni tahsisler için kullanılmayacağı anlamına gelir.
Hızlandırılmış veritabanı kurtarma etkinleştirildiğinde, kapsam sayısına bakılmaksızın ayrı mantıksal ve fiziksel aşamalar kullanılır.
Permissions
Tablonun ait olduğu şema üzerindeki izni, CONTROL tablo üzerindeki izni veya sabit db_ddladmin veritabanı rolündeki üyeliği gerektirirALTER.
Eğer ifade defter tablosunu düşürürse, ALTER LEDGER izin gereklidir.
Örnekler
A. Mevcut veritabanında bir tablo bırakmak
Aşağıdaki örnek, mevcut veritabanından tabloyu ProductVendor1 ve verilerini ve indekslerini kaldırmaktadır.
DROP TABLE ProductVendor1;
B. Başka bir veritabanına tablo bırakmak
Aşağıdaki örnek, tabloyu SalesPerson2 veritabanına bırakırAdventureWorks2025. Örnek, sunucu örneğindeki herhangi bir veritabanından çalıştırılabilir.
DROP TABLE AdventureWorks2022.dbo.SalesPerson2 ;
C. Geçici bir masa bırakmak
Aşağıdaki örnek geçici bir tablo oluşturur, varlığını test eder, bırakır ve bir SELECT ifadeyi çalıştırmaya çalışarak tekrar varlığını test eder, ancak bu durum başarısız olur. Bu örnek, IF EXISTS SQL Server 2016 (13.x) ile başlayan sözdizimi kullanılmaz.
CREATE TABLE #temptable (col1 int);
INSERT INTO #temptable
VALUES (10);
SELECT col1 FROM #temptable;
IF OBJECT_ID(N'tempdb..#temptable', N'U') IS NOT NULL
DROP TABLE #temptable;
SELECT col1 FROM #temptable;
D. EĞER VAR OLURSA kullanarak bir tablo düşürmek
Şunlar için geçerlidir: SQL Server ( geçerli sürüm aracılığıyla SQL Server 2016 (13.x).
Aşağıdaki örnek, . T1adlı bir tablo oluşturur. Sonra ikinci ifade tabloyu düşürüyor. Üçüncü ibildirim işlem yapmaz çünkü tablo zaten kaldırılmıştır, ancak hata yapmaz.
CREATE TABLE T1 (Col1 int);
DROP TABLE T1;
DROP TABLE IF EXISTS T1;