-1

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

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

我是否遗漏了一些明显的东西

存储过程是:

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

并且值只是输入其中的文本字段。tbl PARA 在每个列上设置为 VARCHAR(MAX)

4

2 回答 2

0

It simply means that the field is not big enough to hold the data that you are trying to insert. It is obvious that that you have set your field to a size that is smaller than the size of the data that you are trying to insert. Check your stored procedure and increase the size of that field.

于 2013-09-05T10:15:23.317 回答
0

可能参数的大小不合适。你没有向我们展示你是如何定义它们的,所以很难说。

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

于 2013-09-05T10:59:12.887 回答