我有一个包含姓名和姓氏的表格,需要随机数据进行更改,但可用于测试目的。所以我在另一个数据库中创建了另一个带有随机前缀和姓氏的表。我想用我创建的随机前缀和姓氏更新测试数据库。另外,我想重新安排更新的名称以防万一,所以如果你明白我的意思,我不希望它按顺序更新。
我收到了这个查询
update DB1.table
set Forename = (???? from DB2.table (Forename)??????)
where Forename is not null
答案 0 :(得分: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中的随机forename从table1更新每个forename
然后你可以为姓氏做同样的事情,这会混淆表2中的姓/姓,我假设你是最后一行的意思......