zoukankan      html  css  js  c++  java
  • SQL Server存储过程

    出自:http://www.cnblogs.com/libingql/p/3575668.html

    1、Create、Alter和Drop

    CREATE PROCEDURE USP_CategoryList
    AS
        SELECT CategoryID,CategoryName
        FROM Category

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

    2、返回记录集

    EXEC USP_CategoryList

    3、编译存储过程

    EXEC sp_recompile USP_CategoryList

    4、查看存储过程

    sp_helptext USP_CategoryList

    5、加密存储过程

    CREATE PROCEDURE USP_CategoryList
        WITH ENCRYPTION
    AS
        SELECT CategoryID,CategoryName
        FROM Category

    6、输入参数

    复制代码
    CREATE PROCEDURE USP_CategoryList
    (
        @CategoryID INT
    )
    AS
        SELECT CategoryID,CategoryName
        FROM Category
        WHERE CategoryID = @CategoryID
    复制代码
    EXEC USP_CategoryList 1
    EXEC StoredProcedure
        @Parameter1 = n,
        @Parameter2 = 'n'

    7、参数的默认值

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

    CREATE PROCEDURE StoredProcedure
    (
        @Variable DataType = DefaultValue       
    )

    8、输出参数

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

    复制代码
    CREATE PROCEDURE USP_CategoryList
    (
        @CategoryID INT,
        @CategoryName VARCHAR(50) OUTPUT
    )
    AS
        SELECT @CategoryName = CategoryName
        FROM Category
        WHERE CategoryID = @CategoryID
    复制代码
    DECLARE @CategoryName VARCHAR(50)
    EXEC USP_CategoryList @CategoryID = 1, @CategoryName OUTPUT
    PRINT @CategoryName

    9、return关键字

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

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

    EXEC @IntLocalVariable = storedProcedureName
    复制代码
    CREATE PROCEDURE USP_IsItOK
    (
        @OK VARCHAR(10)   
    )
    AS
        IF @OK = 'OK'
             RETURN 0
        ELSE
             RETURN -100
    复制代码
    DECLARE @ReturnCode INT
    EXEC @ReturnCode = USP_IsItOK 'OK'
    PRINT @ReturnCode
    EXEC @ReturnCode = USP_IsItOK 'NotOK'
    PRINT @ReturnCode
  • 相关阅读:
    rsync文件备份同步
    程序员的家!我终于拥有自己的blog了!!!
    使用APMServ服务配置如何进行Wordpress本地伪静态设置
    清理Windows.edb文件释放C盘空间(原创)
    不知道按到什么键了,代码前面出现了省略号,使用Ctrl+E+S恢复
    (转)c/c++资源(源码,开发工具)
    EditPlus自动换行
    不用外部软件,直接对文件批量重命名(转)
    C# 实现自定义处理窗体按键(整理)
    C# 控件名称缩写介绍(转)
  • 原文地址:https://www.cnblogs.com/liuqiyun/p/6514336.html
Copyright © 2011-2022 走看看