Tablo (Transact-SQL) bırak

Bir veya daha fazla tablo tanımları ve tüm veri, dizinler, tetikleyiciler, kısıtlamaları ve bu tabloları izin özelliklerini kaldırır.Herhangi bir görünüm veya tablo bırakılan başvuran saklı yordam açıkça kullanarak kesilmesini gerekir drop VIEW veya Bırakma yordamı.tabloüzerinde bağımlılıkları rapor için sys.dm_sql_referencing_entities.

Sözdizimi

DROP TABLE [ database_name . [ schema_name ] . | schema_name . ]
        table_name [ ,...n ] [ ; ]

Bağımsız değişkenler

  • database_name
    tablo oluşturulduğu veritabanı adıdır.

  • schema_name
    tablo ait olduğu şema addır.

  • table_name
    Kaldırılacak tablo adıdır.

Açıklamalar

drop table, FOREIGN key kısıtlaması tarafından başvurulan bir tablo bırakma için kullanılamaz.Başvuru yabancı anahtar kısıtlamasını veya başvuru tablo ilk bırakılan gerekir.Başvuru tablo ve birincil anahtar tutan tablo aynı drop table deyimiçinde bırakılan, başvuru tablo listelenmesi gerekir.

Birden çok tablo içinde herhangi bir veritabanı bırakılabilir.Bir tablo yapılan başvurular bırakılan, ayrıca bırakılıyor, başka bir tablo yabancı anahtar ile başvuru tablo birincil anahtar başvuruluyor birincil anahtar tutan önce tablo listeleniyor olması gerekir.

Bir tablo kesildiği zaman kuralları veya varsayılan değerler tablo kendi bağlamakaybedersiniz ve herhangi bir kısıtlama veya tetikleyici tablo ile ilgili otomatik olarak kesilir.Bir tabloyeniden oluşturmak, uygun kurallar ve varsayılan değerler yeniden bağlayın, herhangi bir tetikleyici yeniden oluşturun ve gerekli tüm kısıtlamaları eklemeniz gerekir.

delete kullanarak tablo içindeki tüm satırları silin, tablename veya truncate table deyimkullanın, kesilmeden kadar tablo vardır.

Büyük tablolar ve dizinler, 128'den çok kapsam kullanan iki ayrı bölüm halinde kesilir: mantıksal ve fiziksel.Mantıksal aşamasında ' % s'tablosu tablo tarafından kullanılan varolan ayırma birimi kaldırma için işaretlenmiş ve hareketi tamamlar kadar kilitli.Fiziksel aşamasında ayırmayı kaldırma için işaretlenmiş IAM sayfalar fiziksel olarak toplu olarak bırakılır.Daha fazla bilgi için, bkz. Bırakarak ve büyük nesneler yeniden oluşturuluyor.

FILESTREAM öznitelikVARBINARY(MAX) sütun içeren bir tablo sürüklerseniz, dosya sisteminde depolanan tüm veriler kaldırılmaz.

Önemli notÖnemli

drop table ve create table aynı toplu işaynı tablo üzerinde yürütülmelidir değil.Aksi takdirde, beklenmeyen bir hata oluşabilir.

İzinler

tablo ait olduğu, Denetim izni tabloveya üyelik şema üzerinde alter izni gerektirir db_ddladmin veritabanı rolüsabit.

Örnekler

A.Geçerli veritabanında bir tablo bırakma

Aşağıdaki örnek kaldırır ProductVendor1 tablo ve veri ve dizinler geçerli veritabanından.

DROP TABLE ProductVendor1 ;

B.Başka bir veritabanındaki bir tablo bırakarak

Aşağıdaki örnek düşünceye SalesPerson2 tablo AdventureWorks2008R2 veritabanı.Bu örnek, sunucu örneküzerinde herhangi bir veritabanından çalıştırılabilir.

DROP TABLE AdventureWorks2008R2.dbo.SalesPerson2 ;

C.Geçici bir tablobırakma

Aşağıdaki örnek geçici bir tablooluşturur, kendi varlığını sınar, onu düşünceye ve yeniden kendi varlığını sınar.

USE AdventureWorks2008R2;
GO
CREATE TABLE #temptable (col1 int);
GO
INSERT INTO #temptable
VALUES (10);
GO
SELECT * FROM #temptable;
GO
IF OBJECT_ID(N'tempdb..#temptable', N'U') IS NOT NULL 
DROP TABLE #temptable;
GO
--Test the drop.
SELECT * FROM #temptable;