当前位置:首页 » 编程语言 » sql循环修改
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql循环修改

发布时间: 2022-01-30 23:29:49

Ⅰ 如何使用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为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。

Ⅱ 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

结果

Ⅲ 怎么用sql修改一列的数据使其循环递增

代码里写,你需要定义一个全局变量,执行一次sql,变量+1。数据库中可以使用max函数来取最大,然后+1
SELECT MAX(c1) FROM tbl;//获取最大值

如果是oracle数据库,id主键建议使用序列。

Ⅳ SQL实现对一个字段的循环赋值问题

你这样进入死循环了,修改如下:
declare@iint
declare@maxidint
set@i=0
select@maxid=max(id)frompersonal
begin
while@i<@maxid
begin
updatepersonalsetPtrack=@i+1whereid=@i+1
set@i=@i+1
if@i=7
begin
set@i=0
break
end
end
end

Ⅳ mysql里循环修改一字段的SQL语句该如何写

update base set list = id

Ⅵ SQL 循环更新

问题出在这里:
begin
UPDATE orders set qty = @i
set @i = @i + 1
你第八次更新后就把表orders的qty全部更新成8了,你要加条件,如:
begin
UPDATE orders set qty = @i
where id = @i
set @i = @i + 1
那就会按照id来更新,根据id 1到8 更新

Ⅶ sql 如和循环插入,我查询出一组数据,修改后如何快速插回原表

如下:

inset into oa_user_prop (prop_id,role_id,user_id,user_realname)

select SEQ_MAXID_OA_USER_PROP.nextval,1825,user_id,user_realname

oa_user_prop where role_id=1816

Ⅷ mySql 循环读取并修改的sql函数怎么写

估计要用游标循环->字符串累加生成SQL语句,类似update tb set c=a;->再执行的方法

Ⅸ 关于SQL按条件循环插入和修改字段值的语句

使用多表更新语句呀
update table1 set 字段1=a.字段1 from table1 b inner join table2 a on a.关键字=b.关键字
where b.DateTime='本月'

Ⅹ sql server 一条语句循环修改多个值

update first set first.sts = 1,sds = second.sds
from a first
inner join C second on first.id = second.id
-- 手打,大概是这样的