반응형
ORA-01440: 정밀도나 축척을 줄이기 위해서는 수정할 열이 비어 있어야 함
제품이라는 오라클 테이블이 있습니다.다음과 같은 유형의 ID 열이 있습니다.NUMBER
.
유형을 다음으로 변경하고 싶습니다.Number(20, 0)
하지만 제게 이런 오류를 주고 있습니다.
ORA-01440: column to be modified must be empty to decrease precision or scale
그래서 이 대본을 사용했습니다.
alter table Products add ID_TEMP NUMBER(20,0);
update Products set ID_TEMP = ID;
update Products set ID = NULL;
alter table Products modify ID NUMBER(20,0);
update Products set ID = ID_TEMP;
alter table Products drop column ID_TEMP;
하지만 그것은 불평합니다.
cannot update ID to NULL
무효가 될 수 없는 기본 키이기 때문에 합리적입니다.
데이터 유형을 다음에서 변경하는 방법Number
로.Number(20, 0)
?
ID가 Primary KEY인지 확인합니다.yes인 경우 nullable로 수정하거나 NULL 값을 삽입할 수 없습니다.
그래서 'UPDATE ID_TEMP WITH ID WITH ID'를 한 후 다음과 같이 하는 것이 좋습니다.
ID 열과 기본 키 제약 조건을 삭제하고 열 이름을 변경합니다.TEMP TO ID 그런 다음 ID 열을 기본 키로 설정합니다.아래 예:
ALTER TABLE Products ADD COLUMN ID_TEMP NUMBER(20,0);
UPDATE PRODUCTS SET ID_TEMP = ID;
ALTER TABLE PRODUCTS DROP COLUMN ID;
ALTER TABLE PRODUCTS DROP CONSTRAINT ID_PK;
RENAME COLUMN PRODUCTS.ID_TEMP TO ID;
ALTER TABLE PRODUCTS ADD CONSTRAINT ID_PK PRIMARY KEY (ID);
언급URL : https://stackoverflow.com/questions/23802066/ora-01440-column-to-be-modified-must-be-empty-to-decrease-precision-or-scale
반응형
'sourcetip' 카테고리의 다른 글
'java.lang'에 액세스할 수 없습니다.object'는 'org.gradle.api.artifacts.dsl'의 수퍼타입입니다.'Dependency Handler' (0) | 2023.09.25 |
---|---|
자바스크립트, 다음날 날짜 가져오기 (0) | 2023.09.25 |
다양한 브라우저에서 자바스크립트로 클라이언트측 파일 내용 읽기 (0) | 2023.09.20 |
PHP에서 IIFE(즉시 호출된 함수식)? (0) | 2023.09.20 |
Artisan Command에서 WordPress 기능에 액세스하는 방법 (0) | 2023.09.20 |