sql循环修改
A. sql 循环修改一个表的某个字段的值,如图
你看是这个意思吗?
数据就是你给的这个,表名我起的叫test
declare@idint
declare@maxidint
set@id=3
select@maxid=max(id)fromtest
begin
while@id<=@maxid
begin
updatetestsetavg_value=balance+(selectavg_valuefromtestwhereid=@id-1)whereid=@id
set@id=@id+1
end
end
结果
B. 如何使用for循环更新sql 语句
CREAT PROCEDURE tester
AS
BEGIN
SET NOCOUNT ON;
DECLARE @userId varchar(50)
DECLARE @count int
SET @count = 0
SELECT @count = count(*) FROM UserService_User WHERE Account like '%111%'
WHILE @count > 0
BEGIN
SELECT @userId = Id FROM UserService_User WHERE Account like '%111%'
exec UserService_RemoveUserByUserId @userId
SET @count = @count -1
END
END
说明:
1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE ……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。
2、循环体中 UserService_RemoveUserByUserId 是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
C. 关于SQL按条件循环插入和修改字段值的语句
仅仅使用sql是油法子实现了,要配合编程才能实现。例如:
for($i=0;$i<100;$i++){
$m->query("update table set wc='$wc.$i' where id='$i'");
}
D. sql server 一条语句循环修改多个值
update first set first.sts = 1,sds = second.sds
from a first
inner join C second on first.id = second.id
-- 手打,大概是这样的
E. mySql 循环读取并修改的sql函数怎么写
估计要用游标循环->字符串累加生成SQL语句,类似update tb set c=a;->再执行的方法
F. 我有多条sql的更新语句,怎么用一个循环语句执行一次更新整一张数据表的数据
1、首先,使用Navicat for MySQL连接数据库并创建一个数据库。
G. 怎么用sql修改一列的数据使其循环递增
updatezsetz.你要更新的字段名=b.r
from你的表名z
leftjoin
(
selecta.pk,casea.r%16when0then16elsea.r%16endasr
from
(
select主键aspk,row_number()over(orderby主键)asr
from你的表名
)a
)bonz.主键=b.pk
H. ACCESS数据库中如何利用SQL语句实现循环修改表的目的
ACCESS
JET引擎不支持循环。如果一定要循环,可以利用ACCESS内置的VBA语言编程予以实现,但是这已经不属于数据库解决问题的方式了(数据库解决问题的方式是面向记录集合的,碰到需要面向单笔记录解决问题时它很无力)。
下面是纯SQL的解决方案,供参考
12update tblB b,tblA a set b.SCORE=a.NEWSCORE where a.CNAME=b.CNAME;
请留意tblA中的CNAME应该是唯一的,否则系统会选取同CNAME其中一条记录的NEWSCORE去更新tblB中的SCORE。