实在不行就这样--1: alter table t add id int identity(1,1)--2:select id1=identity(1,1),id2=identity(111111,1) into #t from syscolumns,sysobjects--3 update t set b=b.id2 from t a left join #t b on a.id=b.id1
SET NOCOUNT ON DECLARE @A VARCHAR(10) DECLARE vendor_cursor CURSOR FOR SELECT A FROM TABLENAME OPEN vendor_cursor FETCH NEXT FROM vendor_cursor INTO @A WHILE @@FETCH_STATUS = 0 BEGIN update tb set b=LEFT(LTRIM(STR(1000000000000*RAND(),20)),6) WHERE A=@A FETCH NEXT FROM vendor_cursor INTO @A END CLOSE vendor_cursor DEALLOCATE vendor_cursor
update tb set b = left(newid(),6)
老乌龟速度够快,就不跟你写一样的。哈哈
update tb set b=right(newid(),6)
set @num=abs(convert(int,checksum(newid())))
select left(@num,6)
set @num=abs(convert(int,checksum(getdate())))
select right(@num,6)
更新了字段b 全部为一个随机数
我想要的结果是 表有n行把字段b更新为不相同的随机数
鉴定通过!!!
实在不行就这样--1:
alter table t
add id int identity(1,1)--2:select id1=identity(1,1),id2=identity(111111,1) into #t from syscolumns,sysobjects--3
update t
set b=b.id2
from t a left join #t b
on a.id=b.id1
DECLARE @A VARCHAR(10)
DECLARE vendor_cursor CURSOR FOR
SELECT A FROM TABLENAME
OPEN vendor_cursor
FETCH NEXT FROM vendor_cursor INTO @A
WHILE @@FETCH_STATUS = 0
BEGIN
update tb set b=LEFT(LTRIM(STR(1000000000000*RAND(),20)),6) WHERE A=@A
FETCH NEXT FROM vendor_cursor INTO @A
END
CLOSE vendor_cursor
DEALLOCATE vendor_cursor