码迷,mamicode.com
首页 > 数据库 > 详细

Sql Server存储过程

时间:2014-12-30 23:19:33      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

好久没用存储过程了,突然一用发现好多东西忘了,就写了两个。方便查阅。例子都非常简单,方便结构的查看,参数的使用。

 

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) 手动输入参数

Sql Server存储过程

标签:

原文地址:http://www.cnblogs.com/zhaox583132460/p/4194698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!