riverbird2005 发表于 2010-01-10 00:14

浅论mysql的存储过程

今天再看数据库设计的书的时候,发现自己以前忽略了存储过程部分。说懂数据库,并不仅仅是说你会用几个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

woailiuyan 发表于 2010-03-04 11:12

回复 1# riverbird2005


    :sleepy:很不错

光速 发表于 2010-03-06 10:24

咋就屏蔽了?:em14:

seacoastboy 发表于 2010-03-06 23:21

kankan

LonnyHe 发表于 2010-03-09 11:35

???

laohuanggua 发表于 2010-05-29 11:47

看不到!!!!!!!:em20:

david2878 发表于 2010-06-25 16:01

????
页: [1]
查看完整版本: 浅论mysql的存储过程