從資料表中刪除資料行

適用於:SQL Server 2016 (13.x) 和更新版本Azure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

本文描述如何使用 SQL Server Management Studio (SSMS) 或 Transact-SQL,在 SQL Server 中刪除資料表資料行。

警告

當您從資料表中刪除資料行時,會刪除資料行及其所包含的所有資料。

限制事項

您無法刪除具有 CHECK 條件約束的資料行。 您必須先刪除條件約束。

除非在 SSMS 中使用資料表設計工具,否則您無法刪除具有 PRIMARY KEY 或 FOREIGN KEY 條件約束或其他相依性的資料行。 使用 SSMS 中的物件總管或 Transact-SQL 時,您必須先移除資料行的所有相依性。

權限

需要資料表的 ALTER 權限。

使用物件總管來刪除資料行

下列步驟說明如何在 SSMS 中使用物件總管刪除資料行:

  1. 連線到資料庫引擎的執行個體。
  2. 物件總管中,尋找您想要從中刪除資料行的資料表,然後展開資料表以公開資料行名稱。
  3. 以滑鼠右鍵按一下您想要刪除的資料行,然後選擇 [刪除]
  4. [刪除物件] 對話方塊中,按一下 [確定]

如果資料行包含條件約束或其他相依性,[刪除物件] 對話方塊會顯示錯誤訊息。 請刪除參考的條件約束,藉以解決此錯誤。

使用資料表設計工具來刪除資料行

下列步驟說明如何在 SSMS 中使用資料表設計工具刪除資料行:

  1. 物件總管中,以滑鼠右鍵按一下您想要從中刪除資料行的資料表,然後選擇 [設計]
  2. 以滑鼠右鍵按一下您想要刪除的資料行,然後從捷徑功能表中選擇 [刪除資料行]
  3. 如果資料行參與關聯性 (FOREIGN KEY 或 PRIMARY KEY),則會有訊息提示您確認是否要刪除選取的資料行及其關聯性。 選擇 [ ]。

使用 Transact-SQL 刪除資料行

您可以在 SSMS、Azure Data Studio 或命令列工具 (例如 sqlcmd 公用程式) 中使用 Transact-SQL 刪除資料行。

下列範例會示範如何刪除資料行。

ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
GO

如果資料行包含條件約束或其他相依性,將會傳回錯誤訊息。 請刪除參考的條件約束,藉以解決此錯誤。

如需更多範例,請參閱 ALTER TABLE (Transact-SQL)

下一步

如需改變資料表和相關工具的詳細資訊,請參閱下列文章: