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 |
---|
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;
Ayrıca bkz.