在MySQL界面操作中已经建好了a表,
creat table a
(
ID int(10) not null primary key;
v float(20)
)ENGINE=InnoDB;
use a
insert into a values (1,'2.5'),(2,'3.5'),(3,'4.5'),(4,'5.5’);
并创建一存储过程P,如下所示:
DELIMITER $$
DROP PROCEDURE IF EXISTS `P` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `P`()
BEGIN
declare i int default 0;
declare h float default 0;
while i<9 do
set i=i+1;
Select i AS ID, h as he;
set h=h+(select v from a where ID=i);
END while;
END $$
DELIMITER ;
为什么最后得到结果是放在几张表中的结果,不是在同一张表中?
creat table a
(
ID int(10) not null primary key;
v float(20)
)ENGINE=InnoDB;
use a
insert into a values (1,'2.5'),(2,'3.5'),(3,'4.5'),(4,'5.5’);
并创建一存储过程P,如下所示:
DELIMITER $$
DROP PROCEDURE IF EXISTS `P` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `P`()
BEGIN
declare i int default 0;
declare h float default 0;
while i<9 do
set i=i+1;
Select i AS ID, h as he;
set h=h+(select v from a where ID=i);
END while;
END $$
DELIMITER ;
为什么最后得到结果是放在几张表中的结果,不是在同一张表中?
解决方案 »
- mysql在win2003上200G+数据量的备份方式
- MSSQL转MYSQL遇到的语法差异问题
- 大问题!线程不够?!Can't create a new thread
- mysql sum函数,当我2个float值(1.6和1.4)sum()后得到的值不是3.0,而是2.9995555请问这是为什么?
- 关于mysql,insert into 的一个问题,我已经找了很多资料,都解决不了,希望各位帮帮忙(很急)
- 关于PostgresSQL的JDBC驱动-高手请进-分值多多
- phpMyAdmin在linux下的安装问题?
- 求助,如何做数据匹配?
- 使用sqlyog导入excel总是报错ERROR: File not found...是什么原因呢?
- Mysql存储过程调试方法
- mysql GUI tools for 5.0 怎么使用
- mysql如何安装
Select i AS ID, h as he;
什么意思?
select id into i from a;
select he into h from a;
DROP PROCEDURE IF EXISTS `P` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `P`()
BEGIN
declare i int default 0;
declare h float default 0;
while i<9 do
set i=i+1;
insert into a values(i);
END while;
END $$
DELIMITER ;
mysql> call p();
+------+------+
| ID | he |
+------+------+
| 1 | 0 |
+------+------+
1 row in set (0.00 sec)+------+------+
| ID | he |
+------+------+
| 2 | 1 |
+------+------+
1 row in set (0.03 sec)+------+------+
| ID | he |
+------+------+
| 3 | 3 |
+------+------+
1 row in set (0.03 sec)+------+------+
| ID | he |
+------+------+
| 4 | 6 |
+------+------+
1 row in set (0.05 sec)+------+------+
| ID | he |
+------+------+
| 5 | 10 |
+------+------+
1 row in set (0.05 sec)+------+------+
| ID | he |
+------+------+
| 6 | 15 |
+------+------+
1 row in set (0.06 sec)
1. 直接使用一个SQL语句完成,根本不用存储过程
2. 在存储过程中使用临时表,先把记录写入临时表,然后SELECT出来。
'截至2010-10-29 17:16:56 用户结帖率40.00% 当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖