我有兩個表,一個表示一些數據,一個將兩個數據鏈接在一起。 第一個,Redaction
,有三列; ID
,X
,Y
。 第二個,LinkedRedactions
,有兩列; PrimaryID
,SecondaryID
,它們是Redaction
中兩行的ID
s所鏈接的,並且需要具有相同的X
和Y
的值。SQL-Server:從另一個表更新表
我想要做的就是更新Redaction
爲SecondaryID
S的X
和Y
值,如果他們不已經是相同X
和Y
爲相應PrimaryID
值。
不幸的是,我不能使用TRIGGER
,因爲這些腳本將在kCura的Relativity平臺上運行,它不允許它們運行。一個SQL腳本將是理想的,這將會每隔幾秒由一個代理運行。
我已經嘗試聲明一個臨時表,並從該更新,但給我的錯誤
「必須聲明標量變量@T」
DECLARE @T TABLE (
[ID] INT, [X] INT, [Y] INT
)
INSERT INTO @T
SELECT
[ID], [X], [Y]
FROM
[Redaction] AS R
WHERE
[ID] IN (
SELECT [PrimaryID] FROM [LinkedRedactions]
)
UPDATE
[Redaction]
SET
[X] = @T.[X], [Y] = @T.[Y]
WHERE
[Redaction].[ID] IN (
SELECT [ID] FROM @T
)
免責聲明:只是我的SQL第二天,所以更多的描述性答案將不勝感激
謝謝,完美的作品。你能簡單介紹一下它的工作原理嗎? – JChristen
很好的解釋,謝謝! – JChristen