2016-12-22 6 views
0

У меня есть хранимая процедура, которая создает таблицу с помощью функции поворота (назовем ее таблицей A). Для того, чтобы держать вещи аккуратно, я создал еще одну процедуру, где я хотел бы результаты поворота, чтобы вставить в таблицу А, однако вставки в функции не появляется на работе в сочетании с функцией поворота есть ли какие-либо идеи о том, как работать вокруг этого?Добавление (вставка) результатов поворота в существующую таблицу SQL

Кроме того, обе процедуры работают отлично, отличные от вставки, в элемент второго.

Поворотная элемент сценария выглядит следующим образом:

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 ряд (-ов) затронуты)

(3616 ряд (-ых) затронутых) Msg 8152, уровень 16, состояние 14, процедураusp_sproc1, строка 109 Strin g или двоичные данные будут усечены. Заявление прекращено.

(1 ряд (ы) пострадавших)

Любая помощь будет оценена.

Благодаря

Джейми

+0

Пожалуйста, пост всего кода, в том числе Defintion КТР. –

+0

ваш оператор вставки не работает, потому что что-то из столбцов A-E не будет вписываться в вашу таблицу, значения (-ы) слишком велики. Вам нужно увеличить размер текстовых столбцов в таблице или просто вставить самые левые символы этих столбцов до длины определения столбца. Сводка вас просто сбивает с толку. – Beth

ответ

0

Вариант 1.

Первый столбец в таблице вы целевой короче, чем 500.
усечение данных столбцов нужного размера или увеличить целевой столбец размер.

Вариант 2.

Вы triggers на целевой таблицы, которые вызывают проблемы.

0

благодарит за комментарии. Я понял это, размер поля одного из столбцов в целевой таблице был varchar (8), и я пытался вставить 9 символов! Я доберусь туда в конце концов.

Приветствия Джейми