更新存储的Proc字符串或二进制数据将被截断

时间:2013-09-05 10:07:56

标签: sql-server-2008

我已经看到了这个问题的一些变化,但还没有找到我可以使用的答案!我有一个更新表的存储过程,每个列的表def是VARCHAR(MAX),存储过程插入标准文本不超过100个字符。但它扔了一个

  

字符串或二进制数据将被截断

我错过了一些明显的东西

存储过程是:

insert tblPara
(
    Para1
  , Para2
  , Para3
)
values
(
@Para1 ,
@Para2 ,
@Para3

,值只是输入的文本字段。 tbl PARA在每个col

上设置为VARCHAR(MAX)

2 个答案:

答案 0 :(得分:0)

它只是意味着该字段不足以容纳您尝试插入的数据。很明显,您已将字段设置为小于您尝试插入的数据大小的大小。检查存储过程并增加该字段的大小。

答案 1 :(得分:0)

可能参数大小不正确。你没有向我们展示你是如何确定他们的,所以很难说。

但是,您确实知道对表中的所有字段使用varchar(max)是一种可怕的做法吗?它排除了对数据库性能至关重要的索引的有效使用。如果这是某种临时表,那不是问题,但不要在产品表中使用此设计。