sql操作1

因为有两文件中要把中文替换成日文,数据也不多就174条啊,刚开始全部手动替换完成了,真是够麻烦的,化了我差不多一个多小时啊,

感觉 这样的重复劳动用计算机来完成不是更好吗,计算机本来就适合干这样的事啊,

两个文件一个是excel的差不一万八千多条记录,另一个文本 文件170多条记录

先把这两文件导入到数据库,我这有sql server 2005倒个文件是很简单的,相信大家都用过吧,txt的文件选择平面文件就可以了,

文件导入了那就是要开始处理了,首先我想到的是用游 标来完成,通过游标套游标的方式进行的
下面请看代码吧

declare @d2 varchar(255)
declare @d4 varchar(255)
declare @d6 varchar(255)
declare @d8 varchar(255)
declare @d10 varchar(255)
declare @d12 varchar(255)
declare @d14 varchar(255)
declare @d16 varchar(255)
declare @s varchar(255)
declare @t varchar(255)
declare scursor cursor for
select * from [002]
open scursor
fetch next from scursor into @s,@t
while ( @@fetch_status=0 ) 
begin
    declare cursor2 cursor for
    select d2,d4,d6,d8,d10,d12,d14 from Sheet3$
    open cursor2
    fetch next from cursor2 into @d2,@d4,@d6,@d8,@d10,@d12,@d14
    while ( @@fetch_status=0) 
    begin
        update Sheet3$ set d2 = replace(d2,@s,@t),d4 = replace(d4,@s,@t),d6 = replace(d6,@s,@t),d8 = replace(d8,@s,@t),d10 = replace(d10,@s,@t),d12 = replace(d12,@s,@t),d14 = replace(d14,@s,@t)
        where CURRENT OF cursor2
        fetch next from cursor2 into @d2,@d4,@d6,@d8,@d10,@d12,@d14
    end                       
    close cursor2
    deallocate cursor2
    fetch next from scursor into @s,@t
end
close scursor
deallocate scursor

这是最开始的代码,靠效率太不行了,运行了20几分钟啊,虽然比手工快多 了啊,感觉肯定有提升的空间的,不过那时时间比较晚就休息去了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值