0

我有一个包含名字和姓氏的表格,需要使用随机数据进行更改,但出于测试目的可读。所以我在不同的数据库中创建了另一个带有随机名字和姓氏的表。我想用我创建的随机名字和姓氏来更新测试数据库。此外,我想重新排列更新的名称以防万一,所以如果您理解我的意思,我不希望它按顺序更新。

我收到了这个查询

update DB1.table 
set Forename = (???? from DB2.table (Forename)??????)
where Forename is not null
4

1 回答 1

2
Declare @Id int

DECLARE db_cursor CURSOR FOR  
SELECT Id 
FROM DB1.dbo.table 
WHERE Forename is not null

OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @id   

WHILE @@FETCH_STATUS = 0   
BEGIN   
        update DB1.dbo.table 
        set Forename = (select top(1) Forename from DB2.dbo.table order by newid())
        where Id = @id

       FETCH NEXT FROM db_cursor INTO @id   
END   

CLOSE db_cursor   
DEALLOCATE db_cursor

将使用来自 table2 的随机名字更新来自 table1 的每个名字

然后你可以对姓氏做同样的事情,这会混淆表 2 中的名字/姓氏,我认为这就是你最后一行的意思......

于 2013-08-21T15:44:26.433 回答