- 論壇徽章:
- 0
|
1. 舊表里的字段和新表不一樣. 舊表:t_stockcard 新表:td_oldcustinfo
2. 要把舊表里的數據按照3個字段一一對應 的原則取出.
3. 數據10萬條樣子,我先不建索引,這樣要快些.
4. 這是在Unix下C語言編程.
我先是定義了一個游標并且分組 語句如下:
EXEC SQL declare cur_stockcard CURSOR for
SELECT person_id,secuno FROM t_stockcard GROUP BY person_id,secuno HAVING count (cardno) = 1;
意思是一個人 在一個部門 只能有一張卡
person_id 是身份證號 secuno是部門代號 cardno是卡號
然后打開游標 EXEC sql open cur_stockcard;
進入循環(huán)體
while(1)
{
EXEC SQL FETCH cur_stockcard INTO :person_id,:secuno;
EXEC SQL SELECT * INTO :vsStockCard FROM t_stockcard
WHERE secuno = :secuno AND
person_id = :person_id;
EXEC SQL INSERT into td_oldcustinfo values (:vstCustInfo);
}
這樣速度很慢。泵氩迦耄硹l記錄樣子 有沒有好的辦法啊?
希望各位大俠幫個忙 謝謝!
我打算在插入時也用游標滾動,可惜不會用. |
|