mysql存储过程的简单应用
对mysql存储过程的简单应用
向表中插入模拟数据,检查分页效果是否出错。
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 //
参考:http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html
附: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循环
[lab
相关文档:
最近装了几次linux,学了很多,把过程写下来了,希望给看的人帮助,也多给些建议。
一、选择最小化安装(什么也不选,但是还是选了vim)
二、使用光盘作为源安装(详情参见/etc/yum.repos.d/CentOS-Media.repo)所用套件(使用yum的强大功能)
####并不是简单的用yum命令,需要在yum后面加一些东西,/etc/yum.repo ......
方法一:建一个拼音表 t_cosler ,存放每个字母开头的第一个汉字的编号和最后一个汉字的编号。
BatchFile code+------+--------+-------+
| f_PY | cBegin | cEnd |
+------+--------+-------+
| A | 45217 | 45252 |
| B | 45253 | 45760 |
.....
| Z | 54481 | 55289 |
+------+--------+-------+
......
我们的项目中有好多不等于的情况。今天写这篇文章简单的分析一下怎么个优化法。
这里的分表逻辑是根据t_group表的user_name组的个数来分的。
因为这种情况单独user_name字段上的索引就属于烂索引。起不了啥名明显的效果。
1、试验PROCEDURE.
DELIMITER $$
DROP PROCEDURE `t_girl`.`sp_split_table`$$
CREATE PROCE ......
Error Code : 1418
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
(0 ms taken)
分析:
根据系统提示,导致该错误的原因可能是一个安全设置方面 ......
MySQL中各种字段的取值范围
时间:2005-09-29 20:59:14 来源:techtarget.com.cn 作者:techtarget.com.cn
TINYINT
-128 - 127
TINYINT UNSIGNED
0 - 255
SMALLINT
-32768 - 32767
SMALLINT UNSIGNED
0 - 65535
MEDIUMINT
-8388608 - 83886 ......