drop table (Transact-sql)

Bir veya daha fazla tablo tanımları ve tüm veri, dizinler, Tetikleyiciler, kısıtlamaları ve tablolar için izni özellikleri kaldırır. Herhangi bir görünüm veya saklı yordamı bırakılan tablo başvuran açıkça kullanarak bırakılan gerekir drop VIEW veya drop procedure. 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
    Tablonun oluşturulduğu veritabanının adıdır.

  • schema_name
    Tablonun ait olduğu şemanın adıdır.

  • table_name
    Kaldırılacak tablo addır.

Açıklamalar

drop table, FOREIGN key kısıtlaması tarafından başvurulan bir tablo bırakma için kullanılamaz. İlk başvuru FOREIGN key kısıtlaması veya başvuru tablosunda bırakılan gerekir. Başvuru tablosu ve tablonun birincil anahtarı tutan aynı drop table deyimi içinde bırakılan, başvuru tablosu önce listelenmelidir.

Herhangi bir veritabanında birden çok tablo bırakılan. Eğer bir tablo varlık başvuruları düştü de bırakılıyor, başka bir tablodaki yabancı anahtar ile başvuru tablosu birincil anahtarı başvuruluyor birincil anahtar tutan tabloyu önce listelenmelidir.

Tablo bırakılan kuralları veya varsayılan değerler tablo kendi bağlama kaybetmek ve herhangi bir kısıtlama veya tabloyla ilişkilendirilmiş tetikleyiciler otomatik olarak bırakılır. Bir tabloyu yeniden oluşturduğunuzda, uygun kurallar ve varsayılan ayarları yeniden bağlamanız herhangi bir tetikleyici yeniden oluşturun ve gerekli tüm kısıtlamaları eklemeniz gerekir.

delete kullanarak bir tablodaki tüm satırları silin, tablenameveya truncate table deyimi kullanın, kesilmeden kadar tablo yok.

Büyük tablolar ve dizinler daha fazla 128 kapsamlarını kullanan iki ayrı aşamada bırakılır: mantıksal ve fiziksel. Mantıksal aşamasında, tablo tarafından kullanılan varolan ayırma birimleri kaldırma için işaretlenmiş ve hareketi tamamlar kadar kilitli. Fiziksel aşamasında, kaldırma için işaretlenmiş IAM sayfaları fiziksel toplu olarak bırakılır.

FILESTREAM özniteliğine sahip VARBINARY(MAX) sütun içeren bir tablo bırakma, dosya sisteminde depolanan tüm veriler kaldırılmaz.

Önemli notÖnemli

drop table ve create table aynı toplu iş aynı masada yürütülmemesi gerektiğini. Aksi takdirde beklenmeyen bir hata oluşabilir.

İzinler

Tablonun ait olduğu, tablo veya üyeliği üzerinde DENETIM izni şema alter izni gerektirir db_ddladmin veritabanı rolü.

Örnekler

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

Aşağıdaki örnek ProductVendor1tablo ve veri ve dizinler geçerli veritabanından.

DROP TABLE ProductVendor1 ;

DROP TABLE ProductVendor1 ;

B.Başka bir veritabanında bir tablo bırakma

Aşağıdaki örnek SalesPerson2içinde masa AdventureWorks2012 veritabanı. Örneğin, herhangi bir veritabanı sunucu örneği çalıştırılabilir.

DROP TABLE AdventureWorks2012.dbo.SalesPerson2 ;

DROP TABLE AdventureWorks2012.dbo.SalesPerson2 ;

C.Geçici bir tablo bırakma

Aşağıdaki örnek geçici bir tablo oluşturur, onun varlığını sınar, onu düşünceye ve varlığı için yeniden sınar.

USE AdventureWorks2012;
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.

Başvuru

ALTER TABLE (Transact-SQL)

Tablo (Transact-sql) oluştur

Sil (Transact-sql)

sp_help (Transact-sql)

sp_spaceused (Transact-sql)

truncate table (Transact-sql)

VIEW (Transact-sql) bırak

procedure (Transact-sql) bırak

eventdata (Transact-sql)

c.sys.sql_expression_dependencies (Transact-sql)