0

我正在 SQL Server 2008 中创建一个新的 SP(存储过程),它会给我一个错误,即

Specified column precision 52 is greater than the maximum precision of 38

我不明白为什么会发生此错误?

请让我解释为什么会发生此错误以及如何解决此错误。

4

3 回答 3

2

系统告诉你错误发生的原因。

您要求的精度为 52,但最大默认精度仅为 38。因此系统无法为您提供您要求的精度。

请参阅:http: //msdn.microsoft.com/en-us/library/ms190476.aspx

“在 SQL Server 中,数值和十进制数据类型的默认最大精度为 38。在 SQL Server 的早期版本中,默认最大值为 28。”

于 2012-06-28T09:49:24.447 回答
0

我弄错了,这真的是一个愚蠢的错误,是我错误地产生的。我声明了一个数据类型为十进制的参数,并且错误地使用了十进制的长度 52。所以它给出了一个错误,因为十进制最大长度 id 为 38。

于 2012-06-28T10:14:48.503 回答
0

您正在尝试放置一个比表中存储的精度更高的变量。

检查您的表结构或您的语句/程序。

对于正在寻找使用休眠解决类似问题的解决方案的其他人,请检查您的映射文件。

*.hbm.xml就我而言,我在休眠映射文件 ( )中将精度更改为 38 。

于 2019-11-13T11:10:20.060 回答