[SQL ] 由UPDATE後的結果再去UPDATE自身的欄位

看板Database作者 (夏天到了,冷不起來了說)時間13年前 (2011/04/29 09:40), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
資料庫是MS SQL 2005 TABLE裡有很多日期欄位,D1A,D1B,D2A,D2B,D3A,D3B,D4A,D4B,... 首先D1A會被變更。 然後D2A=dateadd('day',3,(CASE WHEN isnull(D1B,'')='' THEN D1A ELSE D1B END)) D3A=dateadd('day',3,(CASE WHEN isnull(D2B,'')='' THEN D2A ELSE D2B END)) D4A=dateadd('day',3,(CASE WHEN isnull(D3B,'')='' THEN D3A ELSE D3B END)) .........類推... 問題是,如果下在同一個SQL, D3A抓到的會是舊的D2A(D2B)的+3天,而不是D1A+3天後的D2A 如果要把D2A的判斷弄到D3A那行的SQL的話。 下面的SQL會越串越長... 請問除了分成N次下SQL之外。 是否有其它的辦法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.154.82

04/29 09:51, , 1F
也許用預存程式做會好點?
04/29 09:51, 1F
文章代碼(AID): #1DkXSRG2 (Database)