SQL Server2000中数据从一个表导入加一个表出现的问题及解决方法

可能对于高手来说这是个不是问题的问题,今天我写出解决这个问题的步骤,相信对于像我一样的菜鸟来说可以从中得出分析问题的方法。       

今天公司需要把大量的数据从一个表的某些字段导入到另一个表,这么简单的问题,我就用已经熟练的

insert into org_base(org_name) (select  org_name from contract),

结果系统提示:服务器: 消息 8152,级别 16,状态 9,行 1
将截断字符串或二进制数据。
语句已终止。

奇怪了,什么原因呢,语法不错呀,再试一次语法,选取前100行

insert into org_base(org_name) (select  top 100 org_name from contract),

系统提示:已影响行数100

明显的语法是正确的,是微软支持不到这么多数据(当时确实这么想了),不会吧,才3000多行的数据,

再试一次,insert into org_base(org_name) (select  top 500 org_name from contract),

同样的错误又出现了,可见不是微软支持问题,可能是数据有什么问题吧,于是

select  top 500 org_name from contract

好家伙,一个企业的名字是:

扬州四力体育用品有限公司/(上海四威实业公司江都文体分公司)(原:扬州四力体育用品厂/(上海四威实业公司江都文体分公司))

我设计新表时以为100个char已经够企业名字用的了, 这是什么企业名呀,肯定是这里的问题了,

把org_base字段的org_name改为200个char,然后 insert into org_base(org_name) (select  org_name from contract),系统提示:

(所影响的行数为 3093 行)

成功,但是回过头来看,原来的提示“将截断字符串或二进制数据”,呵呵说的就是字符过长呀,哎.......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值