作者jacky951 (藍憶)
看板Database
標題[SQL ] oracle update from database(更新整個資料庫)
時間Thu Jul 7 10:53:18 2011
各位版上先進大家好,
手邊有一個問題想要請教大家都是怎麼做處理的。
資料庫:oracle 11g
問題描述:
DB schema當初沒有設好關連,而且也不能變動的情況下
如果想要更新整個資料庫TABLE的某一欄位資料(如:身分證字號IDN)
各位的做法會是?
目前我想到的只有一行一行的去KEY update指令如:
UPDATE TABLE_1 as t set t.IDN = 'newIDN' where t.IDN = 'oldIDN';
....
....
....
UPDATE TABLE_N as t set t.IDN = 'newIDN' where t.IDN = 'oldIDN';
不知道各位前輩們有沒有什麼方法是可以簡單幾行就結束這個更新的方法呢?
P.S 我只能使用java去操作
--
當你有責任心的時候
你會想把事情做到完
當你有羞恥心的時候
你才會想把事情做到完美
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.71.217.252
1F:推 howardandy:(procedure + temp table) or ( Excel 的 CONCATENATE) 07/07 11:02
※ 編輯: jacky951 來自: 210.71.217.252 (07/07 11:19)
2F:→ howardandy:那就組字串 變數有3 for下去跑 用字串陣列or..方式滿多 07/07 11:29
3F:→ jacky951:如果可以組字串…我也想組… 07/07 12:57
目前的狀況是,不允許動態指令出現在程式碼內
只能將參數傳到定義好的SQL指令內如:
java:
map.put<"1","oldIdn">;
doQuery(map);
定義檔:
select * from TABEL WHERE field = ?1;
類似這樣的方式,參數只能擺在後面的field裡面,前面不能動...
※ 編輯: jacky951 來自: 210.71.217.252 (07/07 13:01)
4F:→ howardandy:囧? 我覺得這不是怎寫的問題了@@ 限制是啥? 連字串都 07/07 12:58
5F:→ howardandy:那請問您本文中的Update 怎接在Select後面的@@"? 07/07 15:54
6F:→ jacky951:我只是寫個比方啦…要寫update TABLE set FIELD = ?1 ... 07/07 16:26