已使用多年的舊數據庫最終已到達該階段,需要將其退役並替換爲更適合業務需求的一個數據庫正在被使用。在可能的情況下,新的數據庫被設計成儘可能無痛地將現有數據從舊數據庫轉移到新數據庫。然而,有一些表格需要在初始數據傳輸(或至少所有簡單的位置)發生後執行一些更新。使用從其他表中收集的信息更新表中的每一行
在SQL中的基本更新語句我很熟悉,但遍歷整個表,我沒有做過,我不知道最有效的方法來解決它。
舉例說明我想做什麼。假設表A現在有幾個字段比它的原始字段更多。這些附加字段中的許多將包含cab從數據庫中的其他表派生的信息。因此,表A現在有一個字段,它需要包含表B中兩個字段中包含的信息。我想要遍歷表a中的每一行,並將字段x設置爲等於來自表b的字段c & d的級聯其中表b的標識字段等於表a的字段y中的值。在僞sql類似的,
For each row in table a
set field x = (select field c + field d from table b where id = field y)
next row
有大約8500行來貫穿。每行在字段y中都有一個有效的條目,而表b中的id在它的id字段中與這些字段相匹配,所以實際上,這只是最有效的一種類型的sql語句來完成這種類型的事情。
感謝您的任何建議,你可能有。
謝謝,作品很好 –