今天一个朋友在写存储过程的时候报了一个错
numeric field overflow
DETAIL: A field with precision 1, scale 0 must round to an absolute value less than 10^1.
这是一个关于numeric类型的错误,一般来说是数据长度的问题。
先来看一下关于numeric类型的定义说明:
numeric(precision, scale)
- precision 表示整个 numeric 的长度
- scale 表示小数部分的长度
而我这个朋友的错误是把一个长度为8,小数部分为3的数据写入到一个numeric(1,0)的字段里面了,映射错误导致的。