외래 키 제약 조건을 사용하여 20 자의 열을 참조하는 테이블에서 길이가 6 자 밖에되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?외래 키 제약 조건이있는 oracle의 열 변경
주 :이 문제점은 Oracle SQL Developer Edit 테이블의 제한으로 인한 것입니다. 특정 변경 열을 수행했을 때 제대로 작동했습니다.
외래 키 제약 조건을 사용하여 20 자의 열을 참조하는 테이블에서 길이가 6 자 밖에되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?외래 키 제약 조건이있는 oracle의 열 변경
주 :이 문제점은 Oracle SQL Developer Edit 테이블의 제한으로 인한 것입니다. 특정 변경 열을 수행했을 때 제대로 작동했습니다.
SQL> create table parent_tbl(col1 char(20) primary key);
Table created.
SQL> create table child_tbl(col1 char(6) primary key, constraint col1_fk foreign key (col1) references parent_tbl(col1));
Table created.
SQL> alter table child_tbl modify col1 char(20);
Table altered.
SQL>
문제의 가능한 해결책 중 하나는 6 자의 열 크기를 20 자로 늘릴 수 있다는 것입니다.
다른 해결책은 20 자의 열 크기를 사용하여 테이블에 더미 열을 만들 수 있다는 것입니다. 함수에 의해 계산되도록 해당 열의 값을 설정하고 각 행의 더미 열에 20 자 열의 처음 6 자의 값이 할당되도록 함수를 정의하십시오. 그런 다음 외래 키 제약 조건을 사용합니다.