如果你数据纪录已经有一列的数据是不重复的,或者找出几个字段一起时, 不重复,
比如数据表总纪录50000行, 查询列 aa, bb group by aa, bb 纪录仍然有50000.
那可以用这个方法插入自增的数据.
DECLARE @aa nvarchar(50),
@bb nvarchar(50),
@tmp int
DECLARE cur CURSOR FOR
SELECT aa, bb from tbl1 order by aa
OPEN cur
FETCH NEXT FROM cur INTO @aa, @bb
Set @tmp = 1
WHILE @@FETCH_STATUS = 0
BEGIN
update tbl1
set abc = @tmp where aa=@aa and bb=@bb
set @tmp = @tmp + 1
FETCH NEXT FROM cur INTO @aa, @bb
END
CLOSE cur
DEALLOCATE cur[/quote]
非常感谢,涨见识了
如果你数据纪录已经有一列的数据是不重复的,或者找出几个字段一起时, 不重复,
比如数据表总纪录50000行, 查询列 aa, bb group by aa, bb 纪录仍然有50000.
那可以用这个方法插入自增的数据.
DECLARE @aa nvarchar(50),
@bb nvarchar(50),
@tmp int
DECLARE cur CURSOR FOR
SELECT aa, bb from tbl1 order by aa
OPEN cur
FETCH NEXT FROM cur INTO @aa, @bb
Set @tmp = 1
WHILE @@FETCH_STATUS = 0
BEGIN
update tbl1
set abc = @tmp where aa=@aa and bb=@bb
set @tmp = @tmp + 1
FETCH NEXT FROM cur INTO @aa, @bb
END
CLOSE cur
DEALLOCATE cur