将numeric转换为数据类型numeric时出现算术溢出错误

gitionyet 2012-06-28 08:36:14
sqlcode:
T1 name price qty money([price]*[qty])
aaa 1000 100 100000
bbb 1111 100 111100
ccc 2222 100 222200

View xx
select name, sum(money)as ttcost from T1 group by name



自动创建好T1、插入T1所有记录到old_T1,清空T1
创建old_view xx

为了继承T1的数据:
insert into T1(name,price)
select '库存',sublogistics.* from (select name,ttcost from logistics) as sublogistics
where sublogistics.ttqty<>0

但sql提示numeric转换为类型numeric时发生算术溢出错误……

视图的money长度永远>price的,那么视图也是这样的嘛?ttcost如何才能写入到price中?求解
...全文
440 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2012-06-28
  • 打赏
  • 举报
回复
应该是列定义有问题了,可能是sum(money)求和之后,超过了numeric的范围了
筱筱澄 2012-06-28
  • 打赏
  • 举报
回复
你这是因为两个列定义的长度不一致,所以会提示这样的错误,看下面的例子

DECLARE @m DECIMAL(8,2)=123456.78 ,@n DECIMAL(7,2)
SELECT @m=123456.78
SELECT @n=@m
叶子 2012-06-28
  • 打赏
  • 举报
回复
你分别都定义的是什么类型?

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧