0

異なるテーブルにカスタムタイプの2つの値があります:DB1.TBL1.ValとDB2.TBL2.Val。これらを値に交換することは可能ですか?これらの2つの値は同じタイプであり、このタイプはdatBlobです。

繰り返しになりますが、多くのレコードを保持し、Valを含むいくつかのフィールドを持つテーブルTBL1を持つデータベースDB1があります。これらの2つの返された行が正しいことを保証するための条件を決定したとしましょう。他のデータベースDB2についても同じです。これらの2つの値を交換したいと思います。

言い換えれば、私は次のようなものが欲しいです

UPDATE DB1.TBL1 SET Val =(SELECT Val FROM DB2.Tbl2.Val WHERE MyGUID ='WOW')WHERE MyGUID ='Wow'

4

1 に答える 1

0

値の魔法の交換はありません。あなたは仕事をするためにコードを書かなければなりません。以下のコードはその方法を示しています。データ型、テーブル名など、および更新する必要のある行を見つける方法に適応する必要があります。

-- Value from DB1
declare @B1 as int

-- Value from DB2
declare @B2 as int

-- Get value from DB1
select @B1 = Val
from DB1.dbo.TBL1.Val
where ID = 1

-- Get value from DB2
select @B2 = Val
from DB2.dbo.TBL2.Val
where ID = 1

-- Update value in DB1
update DB1.dbo.TBL1
set Val = @B2
where ID = 1

-- Update value in DB2
update DB2.dbo.TBL2
set Val = @B1
where ID = 1
于 2012-05-20T12:21:56.700 に答える