码迷,mamicode.com
首页 > 数据库 > 详细

sql 根据一个表更新 另一个表的例子及可能遇到的问题

时间:2015-06-18 16:43:19      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

 

例子:

update a set a.name=b.name1 from a,b where a.id=b.id

 

例子延伸:更新的时候会把字符串 转为科学计数法  怎么办?

答:用 cast 转换一下 ,或者双cast

update LoaneeExpand  set LoaneeExpand.phone=cast(cast(tt.PHONE as decimal(18,0))  as  nvarchar(50))  from LoaneeExpand ,tt  where  LoaneeExpand .id=tt.id

 

例子再次深入延伸问题:更新时

String or binary data would be truncated.
The statement has been terminated.

字符串或二进制数据将被截断。
该语句已终止。  怎么办 ?

很明显 就是你要更新的表的 字段长度不够 , 可是查询表 b的 所有真实 长度 len(b.name) <20 .. 都符合 表a 的字段长度啊,这是为什么?

答 :更新表a时 ,并是不按照 表b的真实长度 计算的,而是按照表b字段的定义长度 ,所有把表a需要修改的字段长度,按照表b的字段长度 设定就好了。

 

sql 根据一个表更新 另一个表的例子及可能遇到的问题

标签:

原文地址:http://www.cnblogs.com/yangjinwang/p/4586014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!