CREATE PROCEDURE HistorySql @Year datetime
AS set nocount on--declare  @Year datetime
--set @Year='2006-4-4'select 事故类别,count(事故类别) as 事故数量,sum(经济损失) as 经济损失 
into #Temp
from DataDB_QSSG where 事故日期=@Yeargroup by 事故类别 
order by 事故类别insert into #Temp (事故类别,事故数量,经济损失)
select  '总计',sum(isnull(事故数量,0)),sum(isnull(经济损失,0))
from #Tempselect * from #Temp
GO
这是我的存储过程,执行后显示
服务器: 消息 8152,级别 16,状态 9,过程 HistorySql,行 16
将截断字符串或二进制数据。
语句已终止。
各位帮忙找夏错误。

解决方案 »

  1.   

    错误不是很明显吗?
    将截断字符串或二进制数据。
    你的表DataDB_QSSG的字段事故类别是什么类型的,它的长度应该是小于四位的char型,当你插入'总计'时,就会报“将截断字符串或二进制数据”
      

  2.   


    >select 事故类别,count(事故类别) as 事故数量,sum(经济损失) as 经济损失 
    >into #Temp
    之前先建立#Temp这张临时表,事故数量,这个字段要设到足够大,因为后面有个求和