我有一個選擇語句,我想要轉換爲名稱爲Variable[N]
的表中所有列的更新語句。循環更新多列?
例如,我想要做的這些事情:
- 我希望能夠到SQL轉換成如下的更新語句。
- 我有
n
列名爲variable[N]
。下面的示例只更新列variable63
,但我想要動態運行名稱爲variable1
到variableN
的所有列上的更新,而不必知道我有多少個variable[N]
列。另外,在下面的例子中,我得到更新結果到NewCol
。如果可能,我實際上想要更新相應的變量列,variable63
在我的示例中。
我想有通過variableN
遍歷variable1
列的包裝,並在所有這些列執行相同的各個更新操作:
SELECT
projectid
,documentid
,revisionno
,configurationid
,variable63
,ISNULL(Variable63,
(SELECT TOP 1
variable63
FROM table1
WHERE
documentid = t.documentid
and projectid=t.projectid
and configurationid=t.configurationid
and cast(revisionno as int) < cast(t.revisionno as int)
AND Variable63 is NOT NULL
ORDER BY
projectid desc
,documentid desc
,revisionno desc
,configurationid desc
)) as NewCol
FROM table1 t;
您將需要使用動態SQL。我希望你不要期望它快。 – Hogan 2012-07-26 20:12:15
至少告訴我們變量1和變量2的更新語句是什麼樣子......很難確切知道你要在這裏做什麼。 – Hogan 2012-07-26 20:13:21
你使用什麼數據庫? – 2012-07-26 20:25:37