복붙노트

[SQL] "ORA-01438 :이 항목 허용 지정된 정밀도보다 큰 값"3을 삽입 할 때

SQL

"ORA-01438 :이 항목 허용 지정된 정밀도보다 큰 값"3을 삽입 할 때

형식 번호 (2,2)와 필드에 0을 제외한 모든 수를 삽입 할 때 그 오류로 실행 해요.

UPDATE
    PROG_OWN.PROG_TPORCENTAJE_MERMA
SET
    PCT_MERMA = 3
WHERE
    IDN_PORCENTAJE_MERMA = 1

[에러 코드 : 1438, SQL 상태 : 22003은] ORA-01438 : 지정된 정밀도보다 큰 값이 열의 허용

COLUMN_NAME DATA_TYPE   TYPE_NAME   COLUMN_SIZE   BUFFER_LENGTH   DECIMAL_DIGITS
PCT_MERMA   3           NUMBER      2             0               2

I 소수점 번호를 시도하는 경우에도 발생합니다.

어떤 생각을 왜?

해결법

  1. ==============================

    1.상기 제 파라미터의 개수와 상기 제 2 하나 (여기 .IE 2)에서는 숫자의 갯수가되어 있으므로 자릿수에 인 데이터 유형 번호 (2,2)가 1보다 작은 숫자의 큰으로 업데이트 할 수없는 소수 부분. 나는 당신이 삽입 또는 업데이트 데이터 <1 즉, 0.12, 0.95 등을 할 수 있습니다 생각

    상기 제 파라미터의 개수와 상기 제 2 하나 (여기 .IE 2)에서는 숫자의 갯수가되어 있으므로 자릿수에 인 데이터 유형 번호 (2,2)가 1보다 작은 숫자의 큰으로 업데이트 할 수없는 소수 부분. 나는 당신이 삽입 또는 업데이트 데이터 <1 즉, 0.12, 0.95 등을 할 수 있습니다 생각

    NUMBER 데이터 유형의 번호 데이터 형식을 확인하시기 바랍니다.

  2. ==============================

    2.스케일 자리 바로 소수점으로되어있는 전체 자리의 수 (정밀도 스케일) 수단 정밀도 번호.

    스케일 자리 바로 소수점으로되어있는 전체 자리의 수 (정밀도 스케일) 수단 정밀도 번호.

    환언 NUMBER (2,2)는 소수이다 둘 2 자리와 숫자를 의미한다. 당신은 2 소수 그중 4 자리 숫자를 얻기 위해 번호 (4,2)를 사용하는 것을 의미합니다. 현재 당신은 제로 정수 부분에 값을 삽입 할 수 있습니다.

    오라클 문서에서 더 많은 정보를 원하시면.

  3. from https://stackoverflow.com/questions/14357816/ora-01438-value-larger-than-specified-precision-allowed-for-this-column-when by cc-by-sa and MIT license