如何:使用查詢建立新的資料庫物件
如果您想要使用指令碼建立或編輯檢視表、預存程序、函數、觸發程序或使用者定義型別,可以使用 Transact-SQL 編輯器。 Transact-SQL 編輯器提供了 IntelliSense 和其他語言支援。 如需詳細資訊,請參閱使用 Transact-SQL 編輯器,編輯及執行指令碼。
使用 [檢視程式碼] 捷徑功能表開啟連線的資料庫或專案中的資料庫實體時,會叫用 Transact-SQL 編輯器。 從 [SQL Server 物件總管] 使用 [新增查詢] 快顯功能表,或將新的指令碼物件加入至資料庫專案時,也會自動開啟這個編輯器。 如果您尚未連線到資料庫,但想要對其執行查詢,則也可以使用 [新增查詢連線] 對話方塊 (透過選取 [SQL] 功能表中的 [Transact-SQL 編輯器] 功能表),連線到資料庫並啟動 Transact-SQL 編輯器。
使用 Transact-SQL 查詢建立新的資料表
以滑鼠右鍵按一下 [Trade] 資料庫節點,再選取 [新增查詢]。
在指令碼窗格中,貼入下列程式碼:
CREATE TABLE [dbo].[Fruits] ( [Id] INT NOT NULL, [Perishable] BIT DEFAULT ((1)) NULL, PRIMARY KEY CLUSTERED ([Id] ASC), FOREIGN KEY ([Id]) REFERENCES [dbo].[Products] ([Id]) );
按一下 Transact-SQL 編輯器工具列中的 [執行查詢] 按鈕,執行這個查詢。
以滑鼠右鍵按一下 [SQL Server 物件總管] 中的 [Trade] 資料庫,然後選取 [重新整理]。 請注意,新的 [Fruits] 資料表已經加入至資料庫。
若要建立新的函式
用以下程式碼取代目前 Transact-SQL 編輯器中的程式碼:
CREATE FUNCTION [dbo].GetProductsBySupplier ( @SupplierId int ) RETURNS @returntable TABLE ( [Id] int NOT NULL, [Name] NVARCHAR (128) NOT NULL, [Shelflife] INT NOT NULL, [SupplierId] INT NOT NULL, [CustomerId] INT NOT NULL ) AS BEGIN INSERT @returntable SELECT * from Products p where p.SupplierId = @SupplierId RETURN END
這個函式會傳回
Products
資料表中所有SupplierId
等於指定之參數的資料列。 按一下 Transact-SQL 編輯器工具列中的 [執行查詢] 按鈕,執行這個查詢。在 [SQL Server 物件總管] 中,於 [Trade] 節點底下,展開 [可程式性] 和 [函式] 節點。 您可以在 [資料表值函式] 底下找到剛才建立的新函式。
建立新的檢視表
用以下程式碼取代目前 Transact-SQL 編輯器中的程式碼。 然後,按一下編輯器上方的 [執行查詢] 按鈕,執行這個查詢。
CREATE VIEW [dbo].PerishableFruits AS SELECT p.Id, p.Name FROM dbo.Products p join dbo.Fruits f on f.Id = p.Id where f.Perishable = 1
在 [SQL Server 物件總管] 中,於 [Trade] 節點底下,展開 [檢視] 節點以找出您剛才建立的新檢視。