小编MAD*_*bie的帖子

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

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

Msg 8152, Level 16, State 14, Line 114
字符串或二进制数据将被截断

这个存储过程大约有 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
Run Code Online (Sandbox Code Playgroud)

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

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

奖励信息:我运行了填充了 params 并且 params = …

sql t-sql sql-server stored-procedures

3
推荐指数
1
解决办法
7万
查看次数

标签 统计

sql ×1

sql-server ×1

stored-procedures ×1

t-sql ×1