mysql 累加运算 - 其他数据库开发 / MySQL/Postgresql
sp 程序
delimiter //
create procedure ma()
begin
declare i int default 0;
while i<11 do
set i=i+1;
select i;
end while;
end //
delimiter ;
1+2+...+9+10
为什么这个程序无法实现累加效果
//请说明这个程序的缺陷和改进方法。。谢谢各位大哥
SQL code:
mysql> call ma();
+------+
| j |
+------+
| 55 |
+------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
顺便问一下
SQL code:
delimiter //
create procedure test07()
begin
declare i int ;
set i=1; --这个地方设置成i=1 可以输入点东西。。但是i=0为什么是无限循环?
while i<10 do
set i=i+1;
select i;
end while;
end //
delimiter ;
汗,你本身的程序是往变量I一直累加1。 仔细看下就明白了。
相关问答:
CREATE DATABASE ADDRESSLIST;
USE ADDRESSLIST;
DROP TABLE IF EXISTS FRIEND;
CREATE TABLE FRIEND
(FRIEND_ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY ,
FRIEND_NAME VARCHAR(20) NOT N ......
SQL code:
create procedure proc_batchUpdate(in categoryId integer , in artIds varchar(50))
begin
set @dsql = count('update article set type=' , categoryId , ' where id in (' , artIds , ' ......
我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......
表A:
ID,Name
表B:
ID,Name
现查询表A,想知道表B中有无ID相同的记录,如有则显示有几条,下面语句在mysql中无法执行
select
ID,
Name,
(select cont(*) from 表B where ID=表A.ID)表B_ID
from ......
php同时调用3个数据库中的一个表的信息(架设A.a.aid=B.b.bid=C.c.cid),请说明思路及书写部分代码
例如:
SELECT time, goodid from dbname1.time, dbname2.goods
是这个意思么?
SELECT time, goodid from ......