[SQL ] 請問這要怎麼寫成procedure

看板Database作者 (退伍了啦...)時間17年前 (2008/11/26 16:03), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
假設現在有個mem的Table,裡面有credit01、credit02兩欄位 我想於每週的固定時間,將02的資料變成01的資料: 如:| 01=10000 | 02=1451 | 在固定時間後會變成 | 01=10000 | 02=10000 | 我目前想法把語法想的比較簡化,直接丟rownum來用也ok。但用成for loop... for i=1到 max(rownum){ UPDATE mem SET credit02=(SELECT credit02 FROM mem WHERE rownum=[i]) WHERE rownum=[i] } 請問這要怎麼寫成pl/sql呢?...對for 與下面的變數一整個苦手 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.220.18

11/26 17:18, , 1F
前四行還看得懂,但是for{}那段跟前面的需求卻搭不起來
11/26 17:18, 1F
sorry。應該是我表達不清。資料庫是Oracle。 max(rownum)的意思是取其count(*)的筆數。雖然我不知道這會不會有問題= = 因為我不想多下一個sql取count。而直接用max(rownum)得出來的等案是與count相同的 如count(*)=max(rownum)=10 然後應其總筆數為1~10 則為for(i=1~10){ 上面的update語法[i] } 就能將所有的筆數都update完。大概是這種意思.... 目前是不知該如何將這想法的東西實現。謝謝 ※ 編輯: kojinchin 來自: 123.195.220.18 (11/26 18:03)

11/26 22:23, , 2F
sor。我想錯了。還是需要一條找其count的sql。更正...囧
11/26 22:23, 2F

11/28 03:20, , 3F
不就是 update mem set credit02=credit01 這樣就好啦?
11/28 03:20, 3F

11/30 10:22, , 4F
是這樣沒錯.後來也發現這樣.不知道那時在想什麼.對不起
11/30 10:22, 4F
文章代碼(AID): #19BGBe0h (Database)