これは column1 にあるデータの例です
Column1
Test1
test2
test3
次に、このクエリを実行します
Declare @Id uniqueidentifier
DECLARE db_cursor CURSOR FOR
SELECT Id
FROM DB1.table
WHERE Column1 is not null
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @id
WHILE @@FETCH_STATUS = 0
BEGIN
update DB1.table
set Column1 = (select top(1) Column2 from DB2.table order by newid())
where Id = @id
FETCH NEXT FROM db_cursor INTO @id
END
CLOSE db_cursor
DEALLOCATE db_cursor
これは私が得る出力です
Column1
tom
jack
bob
DB1 テーブルの列を DB2 テーブルの列データに置き換えるこのコードを作成しました。これは、SQL サーバー エージェントでジョブとして実行すると正常に動作します。
同じクエリを実行して、同じ列を持つデータベースをさらに変更したいと考えています。したがって、FROM クエリには、From DB1.table、DB2.table、DB3.table などのデータベースをさらに追加したいと考えています。
このように更新後に値を複製するため、カーソルがないと機能しません。
column1
tom
tom
tom