我想爲所有whoes活動持續太久的表格更新我的表格。更新應該糾正一次,以及我需要處理新結果的後續行。所以想想像Informix:使用SELECT進行UPDATE - 語法?
UPDATE summary_table st
SET st.screen_on=newScreenOnValue
st.active_screen_on=st.active_screen_on-(st.screen_on-newScreenOnValue) --old-value minus thedifference
FROM (
SUB-SELECT with rowid, newScreenOnValue ... JOIN ... WHERE....
) nv
WHERE (st.rowid=nv.rowid)
我知道我可以通過重新運行相同的查詢直接更新第一個和第二個值。但是我的問題是子選擇的代價似乎相當高,因此要避免雙重更新。雙擊相同的查詢。
以上SELECT
只是一種非正式的寫作方式,我認爲我想得到。我知道st
不起作用,但爲了更好的理解,我將它留在了這裏。當我嘗試上述語句時,我總是在FROM
結束的位置返回一個SyntaxError。
我還沒有想過這種風格。 Thx,我會嘗試它(儘管我已經找到了另一種解決方案)。 – LeO
這是否工作? –
說實話:我沒有嘗試,但語法看起來非常非常有希望。因此我會接受答案。我沒有想過一個元組變體... – LeO