分享方式:


如何:使用重新命名和重構,變更資料庫物件

Transact-SQL 編輯器的 [重構] 關聯式功能表可讓您重新命名物件,或將物件移至其他結構描述,以及在認可變更之前,先預覽所有受影響的區域。 您也可以使用 [重構] 功能表,在資料庫專案中完整限定資料庫物件的所有參考,或是擴充 SELECT 陳述式內的任何萬用字元。

警告

下列程式會使用在專案導向離線資料庫開發小節中先前程式中建立的實體。

若要重新命名類型

  1. 在 [方案總管] 中的 [Products] 資料表 (Products.sql) 上按一下滑鼠右鍵,然後選取 [檢視程式碼],在 TransactSQL 編輯器中開啟指令碼。

  2. 在指令碼中的 [Products] 上按一下滑鼠右鍵,再依序選取 [重構] 和 [重新命名]。

  3. 在 [新名稱] 欄位中將它變更為 Product。 讓 [預覽變更] 選項處於選取狀態,然後按一下 [確定]。

  4. 在下一個畫面中,您便可以預覽即將受到這個重新命名作業影響的指令碼清單。 特別是,所有參考 Products 的地方都會以反白顯示。 這非常類似於先前的程序中的 [尋找所有參考] 工作。 按一下上方窗格中的任何項目,並在下方窗格中檢視指令碼內的實際變更 (以綠色反白顯示)。

  5. 按一下 [套用]。

  6. 對於已在資料表設計工具或 Transact-SQL 編輯器中開啟的指令碼檔案,Transact-SQL 編輯器會醒目提示有所變更的位置,並在其左側顯示綠色列。

  7. 請注意,[方案總管] 中加入的 [TradeDev.refactorlog]。 按兩下將它開啟。 它包含這個工作階段中所有變更的 XML 表示。

  8. 按 F5 建置並部署專案至本機資料庫。

  9. 以滑鼠右鍵按一下 [SQL Server 物件總管] 中 [本機] 下的 [TradeDev] 資料庫,然後選取 [重新整理]。

  10. 展開 [資料表],並注意 [Products] 資料表已經重新命名。

  11. 以滑鼠右鍵按一下 [Product],再選取 [檢視資料]。 請注意,無論是否有進行重新命名作業,現有的資料都保持完整無損。

警告

如果刪除重構記錄檔,則重構的完整歷程記錄也將被刪除。 當專案發佈至尚未套用先前重構作業的資料庫時,在重構檔案被刪除之前完成的任何重構作業,都會發行為卸除和建立作業。 因此,可能會發生資料遺失。

若要展開萬用字元

  1. 展開 [方案總管] 中的 [函式] 節點,然後按兩下 [GetProductsBySupplier.sql]。

  2. 將游標放在這一行的星號上,然後按一下滑鼠右鍵。 選取 [重構] 和 [展開萬用字元]。

    SELECT * from Product p  
    
  3. 在 [預覽變更] 對話方塊中,按一下上方窗格中的 SELECT * from Product p 加以反白顯示。

  4. 請注意,在下方的 [預覽變更] 窗格中,* 已經展開成下列內容。

    [Id], [Name], [ShelfLife], [SupplierId], [CustomerId]  
    
  5. 按一下 [套用] 按鈕。 請注意,這個編輯器再次以左邊綠色列反白顯示包含展開作業產生之變更的程式行。

若要完整限定資料庫物件名稱

  1. 確定 GetProductsBySupplier.sql 仍在 TransactSQL 編輯器中開啟。

  2. 將游標放在這一行的 Product 上,然後按一下滑鼠右鍵。 選取 [重構] 和 [完整限定名稱]。

    SELECT [Id], [Name], [ShelfLife], [SupplierId], [CustomerId] from Product p  
    
  3. 按一下 [預覽變更] 對話方塊中的 [套用] 按鈕。 請注意,所有物件參考已經更新為包含物件的結構描述名稱,但是如果物件有父物件,則為父物件的名稱。

    SELECT [p].[Id], [p].[Name], [p].[ShelfLife], [p].[SupplierId], [p].[CustomerId] from [dbo].[Product] p  
    

若要移動結構描述

  1. 以滑鼠右鍵按一下您想要移動的物件。 選取 [重構] 和 [移動結構描述]。

  2. 在 [新結構描述] 清單中,按一下您想要將物件移入其中的結構描述名稱。 按一下 [確定]。

    如果您選取了 [預覽變更] 核取方塊,就會顯示 [預覽變更] 對話方塊。 否則,系統會更新物件名稱,而且物件會移至新的結構描述。