SQL中海量数据怎么处理 update

来源:百度知道 编辑:UC知道 时间:2024/05/19 19:05:13
把数据表cp中的10万条数据,复制到productshow中,直接导入数据的时候提示其中一条有问题,无法继续,所以想采用执行SQL语句的方法进行,但因数据量太大,用ASP执行时总是提示超时,用SQL查询分析器执行,占用几十G硬盘还是无法完成,急求高手帮助。
———————以下是我自己写的SQL语句,希望高手提供帮助—————————
UPDATE productshow
SET
Cpbh=qpswcom.cp.col06 ,
Cpmc=qpswcom.cp.col05 ,
FROM qpswcom.cp,productshow
能说明下吗?现在问题是UPDATE productshow
SET
Cpbh=qpswcom.cp.col06 ,
Cpmc=qpswcom.cp.col05 ,
FROM qpswcom.cp,productshow

或者用

insert into productshow(Cpbh,Cpbh)
values
(select qpswcom.cp.col06 ,qpswcom.cp.col05
from qpswcom.cp,productshow)

都狂吃硬盘空间,,(个人以为应该是临时表的问题吧),40G空余空间还不够用,怎么办???

而且遇到错误数据的话,无法继续执行,那么MSSQL的查询分析里,又该如何让执行语句遇到错误时自动跳过错误继续执行呢?

希望高手能加Q Q:13 47 42 69 帮助解决这个问题,分数同样可以在这里给的。

你应该考虑一下批处理 几十条更新一次 过程中如出现错误即回滚 这个在java中用到batch功能

直接复制的话 试试
insert into productshow(Cpbh,Cpbh) select qpswcom.cp.col06 ,qpswcom.cp.col05 from cp

insert into productshow(Cpbh,Cpbh)
values
(select qpswcom.cp.col06 ,qpswcom.cp.col05
from qpswcom.cp,productshow)

先把有问题肯能是违反了唯一约束
1.如果productshow里面的数据能清空,字段类型和CP里面一样

那么用select insert into 吧

用存储过程比较好

//查询CP表中的所有字段 并插入到新表中

select * into '新表名' from CP