首页 > 数据库技术 > 详细

MS SQL Server存储过程

时间:2014-03-02 21:38:08      阅读:830      评论:0      收藏:0      [点我收藏+]

1、Create、Alter和Drop

bubuko.com,布布扣
CREATE PROCEDURE USP_CategoryList
AS
    SELECT CategoryID,CategoryName
    FROM Category
bubuko.com,布布扣

  在创建存储过程时,应该使用一致的规范来命名存储过程,而不要使用sp_,使用sp_只会导致名称冲突和混乱。可以使用usp_作为存储过程名的前缀,但即使不使用任何前缀,也比使用sp_好。

2、返回记录集

bubuko.com,布布扣
EXEC USP_CategoryList
bubuko.com,布布扣

3、编译存储过程

bubuko.com,布布扣
EXEC sp_recompile USP_CategoryList
bubuko.com,布布扣

4、查看存储过程

bubuko.com,布布扣
sp_helptext USP_CategoryList
bubuko.com,布布扣

5、加密存储过程

bubuko.com,布布扣
CREATE PROCEDURE USP_CategoryList
    WITH ENCRYPTION
AS
    SELECT CategoryID,CategoryName
    FROM Category
bubuko.com,布布扣

6、输入参数

bubuko.com,布布扣
CREATE PROCEDURE USP_CategoryList
(
    @CategoryID INT
)
AS
    SELECT CategoryID,CategoryName
    FROM Category
    WHERE CategoryID = @CategoryID
bubuko.com,布布扣
bubuko.com,布布扣
EXEC USP_CategoryList 1
bubuko.com,布布扣
bubuko.com,布布扣
EXEC StoredProcedure
    @Parameter1 = n,
    @Parameter2 = n
bubuko.com,布布扣

7、参数的默认值

  调用存储过程时,必须为所有参数指定值,除非创建参数有默认值。

bubuko.com,布布扣
CREATE PROCEDURE StoredProcedure
(
    @Variable DataType = DefaultValue       
)
bubuko.com,布布扣

8、输出参数

  使用output定义输出参数,在不需要返回整个记录集时,输出参数非常适合用于返回单个数据单元。返回单行数据时,使用输出参数比使用记录集快得多。

bubuko.com,布布扣
CREATE PROCEDURE USP_CategoryList
(
    @CategoryID INT,
    @CategoryName VARCHAR(50) OUTPUT
)
AS
    SELECT @CategoryName = CategoryName
    FROM Category
    WHERE CategoryID = @CategoryID
bubuko.com,布布扣
bubuko.com,布布扣
DECLARE @CategoryName VARCHAR(50)
EXEC USP_CategoryList @CategoryID = 1, @CategoryName OUTPUT
PRINT @CategoryName
bubuko.com,布布扣

9、return关键字

  return关键字无条件地终止存储过程的执行,并向调用它的批处理或客户返回一个值。

  使用返回值来指出运行是失败还是成功,而不是使用它返回实际数据。如果只需要返回一个值而不是这个数据集,可以使用输出参数。

bubuko.com,布布扣
EXEC @IntLocalVariable = storedProcedureName
bubuko.com,布布扣
bubuko.com,布布扣
CREATE PROCEDURE USP_IsItOK
(
    @OK VARCHAR(10)   
)
AS
    IF @OK = OK
         RETURN 0
    ELSE
         RETURN -100
bubuko.com,布布扣
bubuko.com,布布扣
DECLARE @ReturnCode INT
EXEC @ReturnCode = USP_IsItOK OK
PRINT @ReturnCode
EXEC @ReturnCode = USP_IsItOK NotOK
PRINT @ReturnCode
bubuko.com,布布扣

MS SQL Server存储过程,布布扣,bubuko.com

MS SQL Server存储过程

原文:http://www.cnblogs.com/libingql/p/3575668.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!