0

我在不同的表中有两个自定义类型的值:DB1.TBL1.Val 和 DB2.TBL2.Val。是否可以将这些交换为值?这两个值是同一个类型的,这个类型就是datBlob。

再一次:我有数据库 DB1 和表 TBL1,它包含许多记录并有一些字段,包括 Val。假设我确定了保证这两个返回的行是正确的条件。其他数据库 DB2 也是如此。我想交换这两个值。

换句话说,我想要类似的东西

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 回答