首页 > 数据库 > MySQL > 正文

mysql中的存储过程与存储函数

2024-07-24 12:59:56
字体:
来源:转载
供稿:网友

SQL语句在执行时要先编译,然后再能被执行。在大型的数据库中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户指定存储过程的名字来调用执行。

创建 MySQL 存储过程的简单语法为:create PRocedure 存储过程名字()(   [in|out|inout] 参数 datatype)begin   MySQL 语句;end;

使用存储过程可以增强SQL语句的功能和灵活性,由于可以用流程控制语句编写存储过程,有很强的灵活性,因此可以完成复杂的判断和运算,并且可以保证数据的安全性和完整性。同时,存储过程可以使没有权限的用户在控制之下间接地存储数据库,也保证了数据的安全、

存储过程与存储函数的区别:

(1)存储过程一般是作为一个独立的部分来执行,存储函数可以作为查询语句的一个部分来调用,由于函数可以返回一个对象,因此可以在查询语句中位于FROM关键字后面。

(2)一般而言,存储过程是实现的功能较复杂,而函数实现的功能针对性较强。

(3)函数需要括号包住输入的参数,且只能返回一个对象或者表对象,而存储过程可以返回多个参数。

(4)函数可以嵌入在SQL中使用,可以在select语句中使用,存储过程不可以。

(5)函数不能直接操作实体表,只能操作内建表。

(6)存储过程在创建时即在服务器上进行了编译,其执行速度比函数快。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表