新手問題-關於SQL複製的疑問 |
答題得分者是:st33chen
|
lovemari
中階會員 發表:134 回覆:224 積分:76 註冊:2005-08-18 發送簡訊給我 |
Dear 各位大大好
=================================== TABLE A SN KEYS 1 1234 2 5678 3 9012 4 3456 5 7890 TABLE B SN TOOLS 1 111111 2 222222 3 333333 4 444444 5 555555 TALBE A 的SN = TABLE B的SN 我該怎麼下SQL 讓TABLE的KEYS 複製到到TABLE 的TOOLS 覆蓋掉 並且要遵循著A.SN = B.SN 希望呈現的 TABLE B SN TOOLS 1 1234 2 5678 3 9012 4 3456 5 7890
------
Program : Delphi 7 DataBase : Oracle 9i Client : ClientDataSet 編輯記錄
lovemari 重新編輯於 2009-04-27 09:03:18, 註解 無‧
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
1. 單筆式 query2.close; query1.close; query1.sql.text :='select * from tablea'; query1.open; while not query1.eof do begin query2.sql.text := 'update table2 set tools=''' query1.fieldbyname('keys').value '''' ' where sn=''' query1.fieldbyname('sn').value ''''; query2.execsql; query1.next; end; 2. 批次式 a. 標準法 update tableb set tableb.tools=( select tablea.keys where tableb.sn=tablea.sn ) b. oracle 特異功能法( 請自行試一下適用性 ) merge into tableb ... using tablea on (tableb.sn = tablea.sn) when matched then set tableb.tools = tablea.keys when not matched then insert values (tablea.sn, tablea.keys); <-- 看可不可以用 when not matched then null 參考一下
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
lovemari
中階會員 發表:134 回覆:224 積分:76 註冊:2005-08-18 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
照理
tablea 應一 sn 只有一筆 用 select sn, count(*) from tablea group by sn having count(*)>1 查一下有哪筆 sn 重複了 偷懶的方法 update tableb set tableb.tools=( select max(tablea.keys) where tableb.sn=tablea.sn ) ===================引 用 lovemari 文 章=================== update tableb set tableb.tools=( select tablea.keys where tableb.sn=tablea.sn ) "單列子查詢所傳回的資料不只一筆" 請問大大我該怎麼修改呢?
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
lovemari
中階會員 發表:134 回覆:224 積分:76 註冊:2005-08-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |