如何:使用重命名和重構,變更資料庫物件
Transact-SQL 編輯器的 [重構] 關聯式功能表可讓您重新命名物件或將物件移至其他結構描述,並且在認可變更之前預覽所有受影響的區域。您也可以使用 [重構] 功能表,在資料庫專案中完整限定資料庫物件的所有參考,或是擴充 SELECT 陳述式內的任何萬用字元。
![]() |
---|
下列程序將利用先前在<連接的資料庫開發>和<專案導向的離線資料庫開發>小節的程序中所建立的實體。 |
若要重新命名類型
以滑鼠右鍵按一下 [方案總管] 中的 [Products] 資料表 (Products.sql),再選取 [檢視程式碼],在 Transact-SQL 編輯器中開啟指令碼。
以滑鼠右鍵按一下指令碼中的 [Products],再依序選取 [重構] 和 [重新命名]。
在 [新名稱] 欄位中將它變更為 Product。讓 [預覽變更] 選項處於選取狀態,然後按一下 [確定]。
在下一個畫面中,您便可以預覽即將受到這個重新命名作業影響的指令碼清單。特別是,所有參考 Products 的地方都會以反白顯示。這非常類似於先前的程序中的 [尋找所有參考] 工作。按一下上方窗格中的任何項目,並在下方窗格中檢視指令碼內的實際變更 (以綠色反白顯示)。
按一下 [套用]。
請注意,針對已在資料表設計工具或 Transact-SQL 編輯器中開啟的指令碼檔案,Transact-SQL 編輯器已經以左邊綠色列反白顯示發生變更的位置。
請注意,[方案總管] 中加入的 [TradeDev.refactorlog]。按兩下將它開啟。它包含這個工作階段中所有變更的 XML 表示。
按 F5 建置並部署專案至本機資料庫。
在 [] 中,以滑鼠右鍵按一下 [本機] 底下的 SQL Server 物件總管[TradeDev] 資料庫,再選取 [重新整理]。
展開 [資料表],並注意 [Products] 資料表已經重新命名。
以滑鼠右鍵按一下 [Product],再選取 [檢視資料]。請注意,無論是否有進行重新命名作業,現有的資料都保持完整無損。
若要展開萬用字元
展開 [方案總管] 中的 [函式] 節點,然後按兩下 [GetProductsBySupplier.sql]。
將游標放在這一行的星號上,然後按一下滑鼠右鍵。選取 [重構] 和 [展開萬用字元]。
SELECT * from Product p
在 [預覽變更] 對話方塊中,按一下上方窗格中的 SELECT * from Product p 加以反白顯示。
請注意,在下方的 [預覽變更] 窗格中,* 已經展開成下列內容。
[Id], [Name], [ShelfLife], [SupplierId], [CustomerId]
按一下 [套用] 按鈕。請注意,這個編輯器再次以左邊綠色列反白顯示包含展開作業產生之變更的程式行。
若要完整限定資料庫物件名稱
確定 [GetProductsBySupplier.sql] 仍然在 Transact-SQL 編輯器中開啟。
將游標放在這一行的 Product 上,然後按一下滑鼠右鍵。選取 [重構] 和 [完整限定名稱]。
SELECT [Id], [Name], [ShelfLife], [SupplierId], [CustomerId] from Product p
按一下 [預覽變更] 對話方塊中的 [套用] 按鈕。請注意,所有物件參考已經更新為包含物件的結構描述名稱,但是如果物件有父物件,則為父物件的名稱。
SELECT [p].[Id], [p].[Name], [p].[ShelfLife], [p].[SupplierId], [p].[CustomerId] from [dbo].[Product] p
若要移動結構描述
以滑鼠右鍵按一下您想要移動的物件。選取 [重構] 和 [移動結構描述]。
在 [新結構描述] 清單中,按一下您想要將物件移入其中的結構描述名稱。按一下 [確定]。
如果您選取了 [預覽變更] 核取方塊,就會顯示 [預覽變更] 對話方塊。否則,系統會更新物件名稱,而且物件會移至新的結構描述。