分享

Mysql 存储过程

 pengx 2008-05-20

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

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


表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存储过程和函数的方法 http://dev.csdn.net/develop/article/69/69467.shtm
         http://www./300482.html
         http://www./article/15234
         http://www./3449.html
         
php调用存储过程返回结果集 http://www./article/15210

mysql存储过程学习总结-操作符 http://dev.csdn.net/author/hbcui1984/c87ea0e6c3c2449e8c588c30ac43b0f6.html
mysql 5.0存储过程学习总结 http://dev.csdn.net/author/hbcui1984/f15b1de4f94a486bac645c995b0d6ebf.html
mysql存储过程基本函数 http://dev.csdn.net/author/hbcui1984/34d8b6f3592649ad85ad0956fd945ab3.html

MYSQL出错代码列表 http://dev.csdn.net/author/hbcui1984/9ba0a6dc787e456d98bd5e510cee0951.html
Mysql5.0 存储过程  http://dev.csdn.net/develop/article/84/84616.shtm

PHP调用MySQL存储过程 http://www./article.php?id=15237
   
MySQL5存储过程编写实践  http://www./html/database/mysql/20070423/10460.html      

高手心得:提高MySQL性能的方法  http://www./html/database/mysql/20070423/10432.html

MySQL中你需要注意的几个SQL语句  http://www./html/database/mysql/20070423/10510.html

通过分区(Partition)提升MySQL性能 http://dev.csdn.net/develop/article/84/84508.shtm

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多