• 存储过程和函数之间有几个区别


    存储过程和函数之间有几个区别:


    存储过程是用户定义的SQL语句序列的集合,涉及特定表或其他对象的任务。用户可以调用存储过程。函数通常是由数据库定义的方法。它接收参数并返回某种类型的值,并且不涉及特定的用户表(如果它是自定义函数,则可能涉及用户表)。

    1)通常,由存储过程实现的功能稍微复杂一点,功能的功能更具针对性。存储过程功能强大,可以执行一系列数据库操作,包括修改表;用户定义的函数不能用于执行一组修改全局数据库状态的操作。

    2)对于存储过程,您可以返回参数,例如记录集,该函数只能返回值或表对象。一个函数只能返回一个变量;一个存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类~~存储过程声明不需要返回类型,函数声明需要描述返回类型,而函数体必须包含有效的RETURN语句。

    3)存储过程可以使用非确定性函数,并且不允许在用户定义的函数体中包含非确定性函数。

    4)存储过程通常作为一个独立的部分执行(执行EXECUTE语句),并且该函数可以作为查询语句(SELECT调用)的一部分被调用,因为函数可以返回一个表对象,所以它可以在查询语句位于FROM关键字之后。存储过程在SQL语句中不可用,但可以使用函数。


    存储过程和函数的优点和缺点

    优点:
    1.存储过程和函数允许标准组件编程,提高SQL语句的可重用性,共享性和可移植性。
    2.存储过程和函数可以用作安全机制。
    3.存储过程和功能可以加快执行速度并减少网络流量。
    缺点:
    存储过程和函数的准备比单句SQL语句更复杂。
    2.编写存储过程和函数时,您需要为这些数据库对象创建权限。

  • 相关阅读:
    安装xcache3.0.3/3.2,为php加速
    编译安装lamp环境
    使用rpm包安装lamp环境
    centos6下通用二进制安装mysql5.5.33
    centos中进程管理工具
    centos6下的lvm逻辑卷的管理
    centos6中创建软raid方法
    解决vmware虚拟机克隆后启动centos报错device eth0 does not seem to be present, delaying initialization
    centos下常用文件管理命令
    centos下httpd-2.4的编译安装
  • 原文地址:https://www.cnblogs.com/lairui1232000/p/9255978.html
Copyright © 2020-2023  润新知