免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5305 | 回复: 6

浅论mysql的存储过程 [复制链接]

论坛徽章:
0
发表于 2010-01-10 00:14 |显示全部楼层
今天再看数据库设计的书的时候,发现自己以前忽略了存储过程部分。说懂数据库,并不仅仅是说你会用几个sql语句就可以了。这一点远远不够,尤其是对于一个架构师而言,数据库里面保存的数据是对于以数据为中心的企业是至关重要的。存储过程是数据库中有趣的东西,以前的时候,我不怎么用他,一般喜欢直接用其它的脚本语言来进行数据库交互,但是,算来不是很方便。SQL语言是一种非过程化的语言,你不能进行判断,循环,但是使用存储过程,问题就迎刃而解了。当建立好存储过程之后,你就可以像编程语言中的函数调用一样,去方便的使用他。一个最简单的存储过程,当然,他基本上没有什么用处。DROP PROCEDURE IF EXISTS mybase.phelloworld;CREATE PROCEDURE mybase.`phelloworld`()BEGIN        SELECT 'HELLO WORLD!' AS F;END; //执行他即可,然后一个名称为phelloworld的存储过程就可以用了。可以这样来调用:call phelloworld();就会直接结果了。
如果要找一个较有实用点的例子,你需要带上参数。DROP PROCEDURE IF EXISTS mybase.p8;CREATE PROCEDURE mybase.`p8`(n_age int)BEGIN      DECLARE a   INT;      DECLARE b   int;      SET a = 5;      SET b = 5;
      INSERT INTO human          VALUES ("dragon", a);
      SELECT age * 2        FROM human       WHERE human.age > n_age;END; //调用方式: call p8(24),类似这样的方法,这样一来,你可以将常用的功能来建立为存储过程,方便以后使用。
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15586/showart_2144684.html

论坛徽章:
0
发表于 2010-03-04 11:12 |显示全部楼层
回复 1# riverbird2005


    很不错

论坛徽章:
5
未羊
日期:2014-08-07 15:42:10双子座
日期:2014-09-23 15:42:172015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:282022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32
发表于 2010-03-06 10:24 |显示全部楼层
咋就屏蔽了?

论坛徽章:
0
发表于 2010-03-06 23:21 |显示全部楼层
kankan

论坛徽章:
0
发表于 2010-03-09 11:35 |显示全部楼层
???

论坛徽章:
0
发表于 2010-05-29 11:47 |显示全部楼层
看不到!!!!!!!

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
发表于 2010-06-25 16:01 |显示全部楼层
????
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP