使用 Transact-SQL
1.在 “對象資源管理器” 中,連接到 數據庫引擎 的實例,然后展開該實例。
2.展開 “數據庫” ,然后展開過程所屬的數據庫。
3.在 “文件” 菜單上,單擊 “新建查詢” 。
4.復制以下示例並將其粘貼到查詢編輯器中,先創建存儲過程。該過程返回 Adventure Works Cycles 數據庫中所有供應商的名稱、所提供的產品、信用等級以及可用性。
IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GO
之后,執行該存儲過程,效果如下:
5.在 “文件” 菜單上,單擊 “新建查詢” 。
6.修改存儲過程。
ALTER PROCEDURE Purchasing.uspVendorAllInfo @Product varchar(25) AS SET NOCOUNT ON; SELECT LEFT(v.Name, 25) AS Vendor, LEFT(p.Name, 25) AS 'Product name', 'Rating' = CASE v.CreditRating WHEN 1 THEN 'Superior' WHEN 2 THEN 'Excellent' WHEN 3 THEN 'Above average' WHEN 4 THEN 'Average' WHEN 5 THEN 'Below average' ELSE 'No rating' END , Availability = CASE v.ActiveFlag WHEN 1 THEN 'Yes' ELSE 'No' END FROM Purchasing.Vendor AS v INNER JOIN Purchasing.ProductVendor AS pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product AS p ON pv.ProductID = p.ProductID WHERE p.Name LIKE @Product ORDER BY v.Name ASC; GO
7.點擊執行,即可以保持修改信息到存儲過程。
8.要運行修改后的存儲過程,可以執行下面所示
EXEC Purchasing.uspVendorAllInfo N'LL Crankarm'; GO
執行后,效果