博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql 存储过程
阅读量:2340 次
发布时间:2019-05-10

本文共 2078 字,大约阅读时间需要 6 分钟。

存储过程的优点:

 存储过程: 存储在数据库服务器端的SQL命令和程序逻辑的集合
 
存储过程能够允许绝大部分的数据库访问逻辑与程序逻辑分离开来。使用存储过程的其中一个间接的优点是,程序的代码变得更加小巧和容易理解。存储过程的另一优点是,SQL可以被预先编译,由此提高了程序的速度。因为存储过程包含程序逻辑,可以在数据库服务器端更多地执行更多的处理。同样,当执行一个n-tier程序时,存储过程被用于将数据层与服务层分离开来。

安全性也是存储过程的另一优点。当不能直接访问表格时,程序可以将执行优先级别分配给存储过程。不幸的是,在这时候,MySQL不支持“授予执行(GRANT EXECUTE)”。这就意味着除非程序具有访问表格的权限,否则调用访问相同表格的一个存储过程也是不行的。使用这一特性有点像在做一个很有趣的赌博。

 

 

与自定义函数的区别:
自定义函数有且只有一个返回值,就像普通的函数一样,可以直接在表达式中嵌入调用。
存储过程可以没有返回值,也可以有任意个输出参数,必须单独调用。
 
执行的本质都一样。只是函数有如只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。
函数限制比较多,比如不能用临时表,只能用表变量。还有一些函数都不可用等等。而存储过程的限制相对就比较少。
 
一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM
关键字的后面

 

表A
声明
 描述
 
CREATE PROCEDURE
 建立一个存放在MySQL数据库的表格的存储过程。
 
CREATE FUNCTION
 建立一个用户自定义的函数,尤其是返回数据的存储过程。
 
ALTER PROCEDURE
 更改用CREATE PROCEDURE 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。.
 
ALTER FUNCTION
 更改用CREATE FUNCTION 建立的预先指定的存储过程,其不会影响相关存储过程或存储功能。.
 
DROP PROCEDURE
 从MySQL的表格中删除一个或多个存储过程。
 
DROP FUNCTION
 从MySQL的表格中删除一个或多个存储函数。
 
SHOW CREATE PROCEDURE
 返回使用CREATE PROCEDURE 建立的预先指定的存储过程的文本。这一声明是SQL:2003规范的一个MySQL扩展。
 
SHOW CREATE FUNCTION
 返回使用CREATE  FUNCTION建立的预先指定的存储过程的文本。这一声明是SQL:2003规范的一个MySQL扩展。
 
SHOW PROCEDURE STATUS
 返回一个预先指定的存储过程的特性,包括名称、类型、建立者、建立日期、以及更改日期。这一声明是SQL:2003规范的一个MySQL扩展。
 
SHOW FUNCTION STATUS
 返回一个预先指定的存储函数的特性,包括名称、类型、建立者、建立日期、以及更改日期。这一声明是SQL:2003规范的一个MySQL扩展。
 
CALL
 调用一个使用CREATE PROCEDURE建立的预先指定的存储过程。
 
BEGIN ... END
 包含一组执行的多声明。
 
DECLARE
 用于指定当地变量、环境、处理器,以及指针。
 
SET
 用于更改当地和全局服务器变量的值。
 
SELECT ... INTO
 用于存储显示变量的纵列。
 
OPEN
 用于打开一个指针。
 
FETCH
 使用特定指针来获得下一列。
 
CLOSE
 用于关闭和打开指针。
 
IF
 一个An if-then-else-end if 声明。
 
CASE ... WHEN
 一个 case声明的结构
 
LOOP
 一个简单的循环结构;可以使用LEAVE 语句来退出。
 
LEAVE
 用于退出IF,CASE,LOOP,REPEAT以及WHILE 语句。
 
ITERATE
 用于重新开始循环。
 
REPEAT
 在结束时测试的循环。
 
WHILE
 在开始时测试的循环。
 
RETURNS
 返回一个存储过程的值。
 

 

MySQL 5.0支持存储过程语句。

 

 

php调用mysql存储过程和函数的方法 
         
         
         
         
php调用存储过程返回结果集 

mysql存储过程学习总结-操作符 

mysql 5.0存储过程学习总结 
mysql存储过程基本函数 

MYSQL出错代码列表 

Mysql5.0 存储过程 

PHP调用MySQL存储过程 

   
MySQL5存储过程编写实践        

高手心得:提高MySQL性能的方法  

MySQL中你需要注意的几个SQL语句  

通过分区(Partition)提升MySQL性能

 

 

 

mysql++ API 是一组访问MySQL的C++ API封装。主要目的在于把各种Query的操作和STL容器更好的结合。

 

 

:: 25. API和库:

转载地址:http://cjzvb.baihongyu.com/

你可能感兴趣的文章
嵌入式数据库h2
查看>>
CommandLineRunner
查看>>
spingcloud总结
查看>>
springcloud首个项目遇到的坑
查看>>
spring-oauth2总结
查看>>
SpringCloud声明式服务调用Feign
查看>>
微服务监控模块springboot Admin
查看>>
安全模块springboot security
查看>>
springcloud gateway
查看>>
drools使用记录
查看>>
阿里六面,挂在hrg,我真的不甘心!
查看>>
人生的康波周期,把握住一次,足以改变命运!
查看>>
互联网公司那些价值观-阿里巴巴
查看>>
去面试快手,问了我很多消息队列的知识!
查看>>
图解LeetCode No.18之四数之和
查看>>
402. Remove K Digits
查看>>
75. Sort Colors
查看>>
获取数组中前K小的数字
查看>>
数组heapify变为堆结构
查看>>
二叉树的非递归遍历
查看>>