全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1013
推到 Plurk!
推到 Facebook!

加快更新關聯至其它table的速度

答題得分者是:timhuang
danajn
一般會員


發表:14
回覆:29
積分:8
註冊:2002-08-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-27 22:29:18 IP:218.162.xxx.xxx 未訂閱
TA table內容如下 T1 T2 T3 性質 單號 項次 金額 | 單號 項次 存在TA X A01 1 30 | A01 1 X A01 2 40 | A01 2 . . | . . | Y B01 1 10 | Y B02 3 50 | . . | . . | Z C01 2 40 | Z C03 1 10 | 若性質為X則至T1 table ,Y 至T2 ,Z至T3 ,更新(存在TA ='Y') 欲從上列的table內容依其性質更新至Table(T1,T2,T3) 除一筆一筆更新外是否有其他方法可讓速度加外 thx......
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-27 22:41:23 IP:61.10.xxx.xxx 未訂閱
引言: TA table內容如下
                              T1 T2 T3 
性質  單號  項次  金額 |  單號  項次  存在TA
X     A01    1     30  |  A01    1      
X     A01    2     40  |  A01    2
.     .                |
.     .                |
Y     B01    1     10  | 
Y     B02    3     50  |
.      .               |
.      .               |
Z     C01    2     40  |
Z     C03    1     10  |
若性質為X則至T1 table ,Y 至T2 ,Z至T3 ,更新(存在TA ='Y') 欲從上列的table內容依其性質更新至Table(T1,T2,T3) 除一筆一筆更新外是否有其他方法可讓速度加外
一般可以以SQL 來直接更新會較快程式也易寫,不過要先攪清楚 1. 你是使用甚麼數據庫 2. ta 裡的數據 t1,2,3 是否可能以存在還是所有都是新增的?
danajn
一般會員


發表:14
回覆:29
積分:8
註冊:2002-08-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-27 23:45:04 IP:218.162.xxx.xxx 未訂閱
1.資料庫 oracle 2.TA的資料是由T1,T2,T3來的,所以一定會存在T1,T2,T3 3.總共有四個table => TA,T1,T2,T3 TA是一定存在 T1 or T2 or T3 若T1 or T2 or T3 存在ta則存在ta='Y' ^^..thx.. ps.若題意不清,會再加強的...^^"
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-28 00:38:41 IP:61.221.xxx.xxx 未訂閱
引言: 1.資料庫 oracle 2.TA的資料是由T1,T2,T3來的,所以一定會存在T1,T2,T3 3.總共有四個table => TA,T1,T2,T3 TA是一定存在 T1 or T2 or T3 若T1 or T2 or T3 存在ta則存在ta='Y'
所以簡單地說就是 TA 的資料一定存在於 T1 or T2 or T3 三者任一之中. 但 T1, T2, T3 中的資料不一定都在 TA 出現. 現要將 T1, T2, T3 中的資料若出現在 TA 中的話, 就將其 ta update 為 'Y', 以下 sql command 為你要的. 可以一次處理 UPDATE T1 SET 存在TA='Y' WHERE EXISTS (SELECT * FROM TA WHERE TA.性質='X' AND TA.單號=T1.單號 AND TA.項次=T1.項次) UPDATE T2 SET 存在TA='Y' WHERE EXISTS (SELECT * FROM TA WHERE TA.性質='Y' AND TA.單號=T2.單號 AND TA.項次=T2.項次) UPDATE T3 SET 存在TA='Y' WHERE EXISTS (SELECT * FROM TA WHERE TA.性質='Z' AND TA.單號=T3.單號 AND TA.項次=T3.項次)
danajn
一般會員


發表:14
回覆:29
積分:8
註冊:2002-08-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-28 09:52:01 IP:211.75.xxx.xxx 未訂閱
^^.. 謝謝..熱情的回答唷...
系統時間:2024-06-17 2:13:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!