标签:
好久没用存储过程了,突然一用发现好多东西忘了,就写了两个。方便查阅。例子都非常简单,方便结构的查看,参数的使用。
SELECT * FROM Production.Product; --1 创建一个返回结果集的存储过程 DROP PROCEDURE dbo.PR_Product; CREATE PROCEDURE PR_Product AS BEGIN SELECT * FROM Production.Product; END; --执行存储过程 EXEC dbo.PR_Product; --2 创建一个要求输入一个参数的存储过程 CREATE PROCEDURE PR_SelectProduct @color VARCHAR(20)--定义一个输入参数 AS BEGIN SELECT * FROM Production.Product WHERE Color = @color;--要求Color列与输入参数相同 END; --执行存储过程 EXEC dbo.PR_SelectProduct @color = ‘Black‘ -- varchar(20) --3 创建一个要求输入两个参数的存储过程 CREATE PROCEDURE PR_SelectProductTwoParameters @safetyStockLevel INT , @recorderPoint INT AS BEGIN SELECT * FROM Production.Product WHERE SafetyStockLevel = @safetyStockLevel AND ReorderPoint > @recorderPoint END; --执行存储过程 EXEC dbo.PR_SelectProductTwoParameters @safetyStockLevel = 1000, -- int @recorderPoint = 100 -- int EXEC dbo.PR_SelectProductTwoParameters @safetyStockLevel = 800, -- int @recorderPoint = 100 -- int --4 创建一个有返回值的存储过程 CREATE PROCEDURE PR_GetProductID @makeFlag INT , @color VARCHAR(10) , @productID INT OUTPUT AS BEGIN SELECT @productID = ProductID FROM Production.Product WHERE MakeFlag = @makeFlag AND Color = @color END; --执行存储过程 DECLARE @productID INT EXEC dbo.PR_GetProductID @makeFlag = 0, @color = ‘Black‘, -- varchar(10) @productID = @productID OUTPUT -- int--声明一个变量用来接收执行存储过程后的返回值 SELECT @productID AS ProductID; --5 创建一个有默认输入参数的存储过程 CREATE PROCEDURE PR_SelectProductName @name VARCHAR(10) = ‘%‘ AS BEGIN SELECT * FROM Production.Product WHERE Name LIKE @name; END; --执行存储过程 EXEC dbo.PR_SelectProductName ;--默认参数 EXEC dbo.PR_SelectProductName @name = ‘B%‘ -- varchar(10) 手动输入参数
标签:
原文地址:http://www.cnblogs.com/zhaox583132460/p/4194698.html