У мене зберігається процедура, яка вставляє 650 полів у таблицю. Вставка не вдається з помилкою усікання.
Це просто
INSERT INTO
SELECT (a bunch of fields)
FROM (a bunch of tables)
Нижче наводиться повідомлення про помилку:
Повідомлення 8152, рівень 16, стан 14, процедура DSP_Procedure, рядок 1075 Рядок або двійкові дані будуть усічені.
Чи є швидкий спосіб я визначити, яке поле викликає помилку усічення?
Той факт, що оператор select, який потрібно вставити в таблицю, містить 650 полів, ускладнює точне визначення того, яке поле викликає помилку усікання.
Я думаю, що, можливо, я можу прокоментувати блоки полів одночасно, щоб тільки SP вписав 100 полів одночасно, а потім запустив SP 6 або 7 різних разів, поки я не можу принаймні звузитися до групи зі 100 полів яке буде містити поле, яке викликає помилку усічення.
Крім того, я думаю, що, можливо, я можу просто SELECT INTO
створити нову таблицю, а потім порівняти довжину даних у таблиці з довжиною даних цільової таблиці, яку я намагаюся вставити у свою SP, щоб побачити, яке поле містить довшу очікувану довжину поля. ..
Я використовую SQL Server 2014.
Будь-які простіші альтернативи?