您的位置:首页 - SQL Server
sql存储过程创建和执行代码
好久没用存储过程了,突然一用发现好多东西忘了,就写了两个。方便查阅。例子都非常简单,方便结构的查看,参数的使用。



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) 手动输入参数
本站导航
相关文章
柯乐义 Copyright© keleyi.com