gpt4 book ai didi

sql - 消息 8152,级别 16,状态 14,行 XXX 字符串或二进制数据将被截断

转载 作者:行者123 更新时间:2023-12-04 23:45:42 50 4
gpt4 key购买 nike

场景:大型存储过程每天运行数千次,每年每周运行 6 天。对于这种特定情况,我收到一个错误

Msg 8152, Level 16, State 14, Line 114
String or binary data would be truncated



这个存储过程大约有 800 行代码,有很多参数、很多变量和很多表。
Go
@exampleParam varchar(30)
@exampleParam datetime
DECLARE @declaredvara VARCHAR(50);
DECLARE @declaredvarb VARCHAR(50); -- where the line error is according to the printout
DECLARE @declaredvarc VARCHAR(50);
DECLARE @declaredvard VARCHAR(50); -- where line error is adjusted for comments in front of GO
BEGIN TRANS
-- some calculations (700+ lines)
COMMIT TRANS
--error catch
ROLLBACK TRANS

问题:我想知道是否可以读取准确的 Line 错误,因此我至少可以缩小必须检查的表的范围。这个存储过程中涉及到大量的表。

*** 它指向的两个声明变量(GO 调整前后)都是自重,它们是 nvr 使用的。

奖励信息:我运行了填充了 params 并且 params = '' 的存储过程,但日期时间除外。在这两种情况下,我都遇到了相同的错误。但是,我知道存储过程是有效的,因为它每天被使用数千次而没有出现此错误。
EXEC SP '','','','','2014-11-6'
EXEC SP 'XX_XX_XX','',1,'','2014-11-6'
--both return the same error of Msg 8152, Level 16, State 14
--XX is a specific serialnum.
--However all other serialnum have no problem

编辑:数据库正在运行 SQL Server 2005
EDIT2:我使用 SQL Server 2008 进行编辑。 - 所以调试不是一个选项

最佳答案

用于修复消息 8152,级别 16,状态 14,第 114 行
字符串或二进制数据将被截断。

SET ansi_warnings OFF
GO

关于sql - 消息 8152,级别 16,状态 14,行 XXX 字符串或二进制数据将被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791178/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com