`

我的第一个MySQL存储过程

阅读更多

之前做项目的时候,项目组中有成员在大数据量搜索的时候使用了存储过程。但是没有仔细了解,今天突然使用到它,所以就稍微学习了一下。

本来是要用PL/SQL developer编写Oracle10g的存储过程去调用一台远程服务器的,突然发觉我本机上没装Oracle,用不了PL/SQL developer(这是哪门子设计啊,百度了一下,发现有办法不装Oracle而使用developer.可是还要下什么文件,网友给的下载链接又失效了),索性用mySQL的工具来写mySQL的存储过程。我使用的工具是SQLyog企业版。

在一个数据库中新建一个user库,有姓名,财产什么的,然后再建一个存储过程,将代码写上去

 

DELIMITER $$

USE `nn`$$

DROP PROCEDURE IF EXISTS `addMoney`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `addMoney`(IN xid INT(5),IN xmoney INT(6))
BEGIN
UPDATE USER u SET u.money = u.money + xmoney WHERE u.id = xid;
END$$

DELIMITER ;

 

恩,然后执行一下这些sql语句,一个存储过程就建起来了。

解释一下, 基本的格式就是 create procedureName(in paramentName type, in paramentName type,……)

创建一个叫procedureName的存储过程,然后再begin和end之间写处理逻辑。

恩,最后要试看看这个存储过程能用不了啊。

 

CALL addMoney(1, 500);useruseraddMoney

 给id是1的人发500元钱,不错哈……

这里要注意,MySQL的存储过程调用是用CALL,而oracle的貌似使用execute的……

 

                                                                                                     by   NN  2009-10-13

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics