【问题标题】:Syncing Changing across two db tables跨两个数据库表同步更改
【发布时间】:2015-09-25 11:22:33
【问题描述】:


我必须创建一个 UI 应用程序,用户可以在其中搜索客户端/位置组合并更新其位置(或插入以防它不存在)。根据客户的位置,表中可以有几行客户
这些更改需要在两个不同的表中进行,这些表位于两个单独的数据库中。

CREATE TABLE ClientTab1
(
    Clientid INT
    , Location INT
    , Identifier INT IDENTITY
)

/* Separate db and this doesn't have an Identity column*/
CREATE TABLE ClientTab2
(
    Clientid INT
    , Location INT
)

数据:

ClientTab1:
101     9   1
101     21  2

ClientTab2:
101     9
101     21

假设用户搜索: 客户 101,位置 9 并将此位置更新为位置 3。
现在,我可以使用标识列更新 ClientTab1,但我无法在 ClientTab2 中进行相同的更改。
请指教一种方法。
请注意,我不能将两个数据库链接在一起。
谢谢。

【问题讨论】:

  • 所以你不能这样做:UPDATE ClientTab2 SET Location=3 WHERE ClientId=101; ?
  • 不,我想更新 ClientTab2 中的一行(对应于 Location = 9 但现在是 3)
  • 因此,在更新记录之前保存旧值,然后执行 UPDATE ClientTab2 SET Location=3 WHERE ClientId=101 and Location=9;

标签: asp.net .net sql-server asp.net-mvc-4 design-patterns


【解决方案1】:

保存 Location 的旧值并在更新语句中使用它以进行第二次更新,例如。

UPDATE 
    ClientTab2 
SET 
    Location=3 
WHERE 
    ClientId=101 
    AND Location=9;

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多