我收到一个错误消息,因为我的存储过程试图在字段中插入一个12位小数的值,该值只允许6位小数。我意识到我可以在尝试将值输入表之前舍入该值。但是,存储过程具有数百个计算,因此我试图避免遍历和舍入每个实例。
类似于SQL表如何在不引发错误的情况下忽略重复项,表可以自动截断小数而不会引发错误吗?
编辑:正如Jeroen Mostert在评论中所解释的,该错误与数字不适合允许的十进制字符的总数而不是小数点本身有关。例如,我的Report with class A
-------------------------
John
Kelvin
Mary
-------------------------
Total: 3
Report with class B
-------------------------
Mark
Rose
-------------------------
Total: 2
并不满意小数点后10位,而是这个数字超过18个字符。
我不是危险地忽略算术错误,而是编写了一个脚本,以避免在程序甚至试图运行之前就将坏数据输入该过程,以免这些太大的值不会引发错误。理想的解决方案是使用try catch(或类似功能),但不幸的是,在这个漫长而悠久的过程中,这不是一个选择。