Mam procedurę składowaną, która wstawia 650 pól do tabeli. Błąd wstawiania z błędem obcięcia.
To proste
INSERT INTO
SELECT (a bunch of fields)
FROM (a bunch of tables)
Poniżej znajduje się komunikat o błędzie:
Msg 8152, poziom 16, stan 14, procedura DSP_Procedure, wiersz 1075 Łańcuch lub dane binarne zostałyby obcięte.
Czy istnieje szybki sposób na określenie, które pole powoduje błąd obcięcia?
Fakt, że instrukcja select, która ma zostać wstawiona do tabeli, ma 650 pól, utrudnia wskazanie, które pole powoduje błąd obcięcia.
Myślę, że mogę komentować bloki pól na raz, tak aby SP wstawiał tylko 100 pól na raz, a następnie uruchamiał SP 6 lub 7 różnych razy, aż będę mógł przynajmniej zawęzić do grupy 100 pól który będzie zawierał pole, które powoduje błąd obcięcia.
Alternatywnie myślę, że może mogę po prostu SELECT INTO
nową tabelę, a następnie porównać długości danych w tabeli z długościami danych w tabeli docelowej, do której próbuję wstawić w moim SP, aby zobaczyć, które pole zawiera dłuższą niż oczekiwana długość pola. ..
Korzystam z programu SQL Server 2014.
Jakieś łatwiejsze alternatywy?