将结果附加(插入)到现有SQL表中

时间:2016-12-22 16:21:05

标签: sql tsql pivot insert-into

我有一个存储过程,它使用pivot函数创建一个表(让我们称之为表A)。为了保持整洁,我创建了另一个程序,我希望将数据结果插入到表A中,但是插入到函数中似乎不能与枢轴函数结合使用是否有人对如何工作有任何想法在这附近?

此外,除了插入第二个元素之外,这两个过程都可以正常工作。

脚本的pivot元素如下:

INSERT INTO dbo.A
CAST([ColumnA] AS VARCHAR(500))
,ColumnB
,ColumnC
,ColumnD
,ColumnE
,Apr = IsNull([1],0)
,May = IsNull([2],0)
,Jun = IsNull([3],0)
,Jul = IsNull([4],0)
,Aug = IsNull([5],0)
,Sep = IsNull([6],0)
,Oct = IsNull([7],0)
,Nov = IsNull([8],0)
,[Dec] = IsNull([9],0)
,Jan = IsNull([10],0)
,Feb = IsNull([11],0)
,Mar = IsNull([12],0)
,YTD = IsNull([13],0)
From xx_CTE
PIVOT (
   Sum(value)
   For month in ([1],[2],[3],[4],[5],[6],[7],
            [8],[9],[10],[11],[12],[13])
) AS Summary

对于上述我正在......

  

(受影响的39318行)

     

(2883行(s)受影响)

     

(受影响的3616行)Msg 8152,Level 16,State 14,Procedure   usp_sproc1,第109行字符串或二进制数据将被截断。该   声明已被终止。

     

(1行受影响)

任何帮助都将不胜感激。

由于

杰米

2 个答案:

答案 0 :(得分:0)

选项1。

目标表中的第一列短于500 将列数据截断为适当的大小或增加目标列大小。

选项2。

目标表上有triggers导致问题。

答案 1 :(得分:0)

感谢您的评论。我现在已经知道了,目标表中其中一列的字段大小是varchar(8),我试图插入9个字符!我最终会到达那里。

干杯 杰米