SQL Server—存储过程

一,存储过程

1.1 定义

存储过程是一个预编译的语句集,存储在数据库中。它允许模块化设计,也就是说编译一次之后,永久有效。通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

1.2 作用

  • 响应时间快,可以带来运行效率提高的好处
  • 存储过程运行更加稳定,不会出现太多错误
  • 存储过程主要是在服务器上运行,减少对客户机的压力
  • 可以接受输入输出值,返回结果集以及返回值,用处灵活

1.3 优缺点

优势:

只需要创建一次,就可以重复的使用,减少了数据库人员的工作量;参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

缺点:

维护性较差,相对于简单的SQL语句,存储过程并没有什么优势,并且在进行调试时比较困难。

二,存储过程的创建和调用

  1. 无参:

在这里插入图片描述
调用结果:
在这里插入图片描述

  1. 带输入参数:

在这里插入图片描述
调用结果:
在这里插入图片描述

  1. 带输入,输出参数
    在这里插入图片描述
    调用结果:
    在这里插入图片描述
    说明:
    out表示返回值参数,类型可以使用任意Oracle中的合法类型。
    @name表示输入参数
    @rowcount表示输出参数

三,存储过程和函数的区别?

存储过程是用户定义的一系列SQL语句的集合,而函数通常是数据库已定义的方法,具体区别如下:

  1. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象.

  2. 函数必须有返回值,存储过程可有可无

  3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一部分来调用

猜你喜欢

转载自blog.csdn.net/weixin_47945283/article/details/106238048