Declare @STAF_TO NVARCHAR(100)
我有以下查询的SQL Server存储过程的一部分:解决“字符串或二进制数据将被截断”的错误
SELECT @SF_TO = TP.FRST_NAME + ' ' + TP.MDLE_NAME + ' ' + TP.LAST_NAME
FROM tbl_Sf TS
INNER JOIN tbl_Pl TP ON (TS.POPL_PK = TP.POPL_PK)
WHERE TS.SF_PK = @ID
我知道@ID
等于140(INT
类型)基于我之前插入的打印语句。当我尝试单独执行此查询时,它工作正常。
然而,当我尝试运行它作为存储过程我得到以下错误的一部分:
Msg 8152, Level 16, State 13, Procedure Proc_Name, Line 57
String or binary data would be truncated.
线57是其中所述SELECT
语句查询以上。任何人有任何想法,为什么会发生这种情况?
编辑:我试着改变NVARCHAR(100)
到NVARCHAR(200)
和NVARCHAR(MAX)
,仍然有错误。另外,如果我单独运行它,查询工作正常(有100个字符)。
可以显示'@ SF_TO'的声明吗?这是最有可能被截断的变量。 – 2013-03-27 17:42:15
还有什么是“FRST_NAME”,“MDLE_NAME”和“LAST_NAME”的定义。我也建议用一个不会错过元音的键盘替换你的键盘。任何想法比'FIRST_NAME'输入'FRST_NAME'难*多难*?你保存了一个角色,但你获得了一些灰色的头发。 – 2013-03-27 17:44:54
@ Love2Learn为'@ SF_TO'添加了声明 – 2013-03-27 17:46:44