[分享]mysql存储过程的简单应用_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2041 | 回复: 0   主题: [分享]mysql存储过程的简单应用        下一篇 
wayne
注册用户
等级:中校
经验:1690
发帖:221
精华:0
注册:2011-7-21
状态:离线
发送短消息息给wayne 加好友    发送短消息息给wayne 发消息
发表于: IP:您无权察看 2014-12-2 9:17:34 | [全部帖] [楼主帖] 楼主

向表中插入模拟数据,检查分页效果是否出错。

create procedure dowhile()
begin
declare cnt INT default 0;
while cnt<100 do
INSERT INTO `test`.`news` (`F_ID` ,`F_TITLE` ,`F_CLASSID` ,`F_ISUP` ,`F_CONTENT` ,`F_SOURCE` ,`F_DATETIME` ,`F_READCOUNT` )VALUES (NULL , 'title', '2', '', 'content', '', '', '');
set cnt=cnt+1;
end while;
end//
-----------------------------------------


注意:设置delimiter //
附:mysql 5.0存储过程学习总结

一.创建存储过程
1.基本语法:

create procedure sp_name()
begin
………
end


2.参数传递

举例:

mysql> delimiter //
mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
-> BEGIN
->   SELECT COUNT(*) INTO param1 from t;
-> END//
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> CALL simpleproc(@a);
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @a;
+------+
| @a   |
+------+
| 3    |
+------+
1 row in set (0.00 sec)


链接地址:http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

在命令行运行正确,但在phpMyadmin下运行出现错误#1312 - PROCEDURE jlnu.procedure1 can't return a result set in the given context 目前没有找到原因。

二.调用存储过程
1.基本语法:call sp_name()

注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递

三.删除存储过程
1.基本语法:

drop procedure sp_name//


2.注意事项

(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

四.区块,条件,循环
1.区块定义,常用

begin
……
end;


也可以给区块起别名,如:

lable:begin
………..
end lable;


可以用leave lable;跳出区块,执行区块以后的代码

2.条件语句

if 条件 then

statement
else
statement


end if;3.循环语句

(1).while循环

[label:] WHILE expression DO
statements
END WHILE [label] ;


(2).loop循环

[label:] LOOP
statements
END LOOP [label];


(3).repeat until循环

[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;


五.其他常用命令
1.show procedure status

显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等

2.show create procedure sp_name

显示某一个存储过程的详细信息




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论