- 论坛徽章:
- 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;
进入循环体
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);
}
这样速度很慢 1秒插入3条记录样子 有没有好的办法啊?
希望各位大侠帮个忙 谢谢!
我打算在插入时也用游标滚动,可惜不会用. |
|