表
id name state
1 101 成功
2 102 成功
3 103 失败
4 104 其它
5 105 失败
6 106 成功
7 107 成功现在需要编写sql语句随机修改state=成功的记录,是随机,而不是连续性的修改,比如我要随机修改2条,就修改2条,请大侠帮帮忙!
id name state
1 101 成功
2 102 成功
3 103 失败
4 104 其它
5 105 失败
6 106 成功
7 107 成功现在需要编写sql语句随机修改state=成功的记录,是随机,而不是连续性的修改,比如我要随机修改2条,就修改2条,请大侠帮帮忙!
不能连续性修改想要的结果是:
id name state
1 101 成功1 //被修改过的
2 102 成功
3 103 失败
4 104 其它
5 105 失败
6 106 成功
7 107 成功1 //被修改过的
不能连续性修改想要的结果是:
id name state
1 101 成功1 //被修改过的
2 102 成功
3 103 失败
4 104 其它
5 105 失败
6 106 成功
7 107 成功1 //被修改过的
declare @i int
set @i=1
while @i<3
beginupdate
table
set
[State]='成功1'
where
id=(SELECT TOP 1 id From SRSMS17_Sendstate WHERE [State]='成功' and Sendmessageid='70' order by checksum(newid()))
set @i=@i+1
end
UPDATE a
SET a.STATE = b.state
FROM TB a
INNER JOIN ( SELECT TOP ( 2 )
*
FROM TB
WHERE STATE <> '成功'
ORDER BY CHECKSUM(NEWID())
) b ON a.id = b.id
AND a.NAME = b.name