變更資料表中的資料行順序

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

您可以在 SQL Server Management Studio (SSMS) 中變更資料表設計工具中的資料行順序。 根據預設,SSMS 的安全機制會阻止變更資料行順序。 雖然不建議這麼做,但您可以藉由重新建立資料表來變更資料表中的資料行順序。

根據預設,將資料表的資料行新增至資料表的結尾,建議這麼做。

建議

資料表資料行順序的最佳做法:

  • 若要變更結果集、報告或應用程式中顯示的資料行順序,請使用 SELECT (Transact-SQL) 陳述式中的資料行順序。 請務必按照您想要顯示資料行的順序,在查詢和應用程式中依名稱指定資料行。
  • 請勿在應用程式中使用 SELECT *。 新增或移除資料行可能會導致應用程式中發生非預期的行為或錯誤。
  • 將新的資料行加入資料表結尾。

警告

變更資料表的資料行順序可能影響相依於特定資料行順序的程式碼和應用程式。 這些包含查詢、檢視、預存程序、使用者自訂函數,以及用戶端應用程式。 請審慎考慮您想要對資料行順序進行的任何變更。

使用 SQL Server Management Studio

變更資料行順序

雖然不建議這麼做,但您可以使用 SQL Server Management Studio (SSMS) 來變更資料表中的資料行順序。 這需要重新建立資料表。

重要

請一律使用最新版本的 SQL Server Management Studio (SSMS)

  1. 在 [物件總管] 中,以滑鼠右鍵按一下資料行要重新排序的資料表,然後選取 [設計]。

  2. 選取要重排順序之資料行名稱左邊的方塊。

  3. 將資料行拖曳到資料表中的其他位置。

SSMS 的重要安全性功能可能會阻擋您進行這些變更,而這是由 [防止儲存需要重新建立資料表的變更] 設定所控制。 啟用此設定可防止透過 SSMS 對話意外卸載/重新建立資料表,因為這可能會造成干擾,並導致中繼資料或權限遺失。 如需詳細資訊,請參閱 SSMS 中的「不允許儲存變更」錯誤訊息。 相反地,建議您透過考慮過權限和中繼資料的 Transact-SQL 步驟,執行這些類型的變更,但須充分了解變更的影響。

警告

重新建立資料表後,將會阻止其他使用者和應用程式對資料表進行並行存取。 對於大型資料表,這可能需要很長的持續時間以及大量的交易記錄空間。

使用 Transact-SQL

使用 Transact-SQL 陳述式時,不支援變更資料行順序。 必須卸載並重新建立資料表,才能變更資料行順序。

備註

若要查詢現有的資料行,請使用 sys.columns 物件目錄檢視。

下一步