求解sql语句

发布网友 发布时间:2022-04-23 02:40

我来回答

5个回答

热心网友 时间:2022-07-11 08:06

楼上的办法不错哈。。 偶写了个游标更新的。。
不过表里有个标识列 自增列
create KK(
A int,
B int,
C int,
D int,LID int identity(1,1))
insert into KK values(4,10,50,'')
执行以下语句
declare cur_setcur cursor for
select A,B,C,D,LID from KK
open cur_setcur
declare @A int,@B int,@C int,@D int,@LID int
fetch next from cur_setcur into @A,@B,@C,@D,@LID
while @@fetch_status=0
begin
declare @N int
set @N=1
while
@A+@N*@B<@C
begin
set @N=@N+1
set @D=@A+@N*@B
update KK set D=@D where LID=@LID
end
fetch next from cur_setcur into @A,@B,@C,@D,@LID
end
close cur_setcur
deallocate cur_setcur

热心网友 时间:2022-07-11 08:06

int i=1;
int d=0;
while(true)
{
if(a+i*b>c)
{
d=a+i*b;
break;
}
i++;
}
System.out.println(d);
}

这个D 就是你要插入的值

热心网友 时间:2022-07-11 08:06

update biao
set d=a+ ROUND(c / b, 0, 1) * b
where EXISTS a+b<c
你试试这个

补充:
这次完美了 回答者: liuyt80 - 经理 四级

这个明显不对 -4,10,50 测试

应该是:
update 表名
set d = a
while EXISTS(select a from 表名 where d<c)
begin
update 表名
set d=d+b
where d<c
end

热心网友 时间:2022-07-11 08:07

update biao
set d=a+ ROUND(c / b, 0, 1) * b
where EXISTS a+b<c
你试试这个

补充:
这次完美了

热心网友 时间:2022-07-11 08:08

update 表名
set d = a
while EXISTS(select a from 表名 where d<c)
begin
update 表名
set d=d+b
where d<c
end

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com