我有一个存储过程,将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。
还有更简单的选择吗?