The Wayback Machine - http://web.archive.org/web/20140105205723/http://msdn.microsoft.com:80/zh-tw/library/ms173790(v=sql.90).aspx
匯出 (0) 列印
全部展開
Expand Minimize
本主題尚未接受評分 - 為這個主題評分

DROP TABLE (Transact-SQL)

更新: 2006 年 12 月 12 日

移除一或多個資料表定義及這些資料表的所有資料、索引、觸發程序、條件約束和權限規格。對於參考卸除的資料表之任何檢視或預存程序,您必須利用 DROP VIEW 或 DROP PROCEDURE 來明確卸除它們。


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

這是建立資料表的資料庫名稱。

schema_name

這是資料表所屬的結構描述名稱。

table_name

這是要移除的資料表名稱。

您無法利用 DROP TABLE 來卸除 FOREIGN KEY 條件約束所參考的資料表。您必須先卸除參考 FOREIGN KEY 條件約束或參考資料表。如果參考資料表和持有要卸除的主索引鍵之資料表在相同的 DROP TABLE 陳述式中,就必須先列出參考資料表。

您可以在任何資料庫中卸除多份資料表。如果卸除的資料表參考另一份也要卸除的資料表之主索引鍵,含有外部索引鍵的參考資料表必須列在持有被參考的主索引鍵之資料表前面。

當卸除資料表時,資料表的規則或預設值會失去它們的繫結,資料表的任何相關條件約束或觸發程序也都會自動卸除。如果重新建立資料表,您必須重新繫結適當的規則和預設值、重新建立任何觸發程序,以及加入所有必要的條件約束。

如果您利用 DELETE tablename 或 TRUNCATE TABLE 陳述式來刪除資料表中的所有資料列,資料表會持續存在,直到將它卸除為止。

使用超出 128 個範圍的大型資料表和索引會分成邏輯和實體這兩個分開的階段來卸除。在邏輯階段中,資料表所用的現有配置單位會標示成取消配置和鎖定,直到認可交易為止。在實體階段中,會以批次方式來實際卸除標示成取消配置的 IAM 頁面。如需詳細資訊,請參閱<卸除和重建大型物件>。

需要資料表所屬結構描述的 ALTER 權限、資料表的 CONTROL 權限,或 db_ddladmin 固定資料庫角色成員資格。

A. 卸除目前資料庫中的資料表

下列範例會從目前資料庫移除 ProductVendor1 資料表及其資料和索引。

DROP TABLE ProductVendor1 ;

B. 卸除另一個資料庫中的資料表

下列範例會卸除 AdventureWorks 資料庫中的 SalesPerson2 資料表。您可以從伺服器執行個體的任何資料庫中執行這個範例。

DROP TABLE AdventureWorks.dbo.SalesPerson2 ;

C. 卸除暫存資料表

下列範例會建立一份暫存資料表、測試它是否存在、卸除它,再重新測試它是否存在。

USE AdventureWorks;
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;

版本 歷程記錄

2006 年 12 月 12 日

變更的內容:
  • 在<權限>一節,新增資料表所屬結構描述的 ALTER 權限也足以執行 DROP TABLE。
本文對您有任何幫助嗎?
(剩餘 1500 個字元)

社群新增項目

新增
Image
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。