现在的位置: 首页 > 综合 > 正文

mysql存储过程

2013年12月02日 ⁄ 综合 ⁄ 共 1089字 ⁄ 字号 评论关闭

MySQL 5.1版支持存储程序和函数。一个存储程序是可以被存储在服务器中的一套SQL语句。一旦它被存储了,客户端不需要再重新发布单独的语句,而是可以引用存储程序来替代。

下面一些情况下存储程序尤其有用:

·当用不同语言编写多客户应用程序,或多客户应用程序在不同平台上运行且需要执行相同的数据库操作之时。

·安全极为重要之时。比如,银行对所有普通操作使用存储程序。这提供一个坚固而安全的环境,程序可以确保每一个操作都被妥善记入日志。在这样一个设置中,应用程序和用户不可能直接访问数据库表,但是仅可以执行指定的存储程序。

存储程序可以提供改良后的性能,因为只有较少的信息需要在服务器和客户算之间传送。代价是增加数据库服务器系统的负荷,因为更多的工作在服务器这边完成,更少的在客户端(应用程序)那边完成上。如果许多客户端机器(比如网页服务器)只由一个或少数几个数据库服务器提供服务,可以考虑一下存储程序。

存储程序也允许你在数据库服务器上有函数库。这是一个被现代应用程序语言共享的特征,它允许这样的内部设计,比如通过使用类。使用这些客户端应用程序语言特征对甚至于数据库使用范围以外的编程人员都有好处。

                                           ——摘自《MySQL 5.1参考手册》

查询数据库中的存储过程: 

方法一:(直接查询)

select `specific_name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE'

方法二:(查看数据库里所有存储过程+内容)

show procedure status;

方法三:(查看当前数据库里存储过程列表)

select specific_name from mysql.proc ;

方法四:(查看某一个存储过程的具体内容)

select body from mysql.proc where specific_name = 'your_proc_name';

方法五:…………

总之感觉Mysql的命令语句是非常灵活的,你可以发挥你的想象力去创造出各种各样的语句来完成相同的任务!

 

查看存储过程或函数的创建代码 :

show create procedure your_proc_name;
show create fu
nction your_func_name;

删除存储过程:

drop procedure your_proc_name;

修改存储过程:

据说存储过程是不能直接修改的,要修改的话必须先删除原来的然后再Create一个新的存储过程。当然也看到过有支持修改的数据库管理软件,具体也没有深究下去。

 

抱歉!评论已关闭.