반응형
고유하지 않은 인덱스를 고유한 인덱스로 변경
고유하지 않은 몇 가지 제약 조건을 고유한 제약 조건으로 변경하고 싶습니다(데이터 모델이 만들어진 이후 비즈니스 규칙이 변경됨).고유한 제약 조건으로 삭제 및 재작성하지 않고 수행할 수 있는 방법이 있습니까?제 생각엔 선택권이 있을 거라고 생각했어요alter constraint
명령입니다, 하지만 저는 아무것도 찾지 못했습니다.
감사합니다!!
고유하지 않은 인덱스는 고유하지 않은 인덱스로 변환할 수 없습니다.
(할 수 없는 것은 말하기 어렵습니다.SQL Language Reference의 ALTER INDEX 페이지를 보고 UNICY라는 단어를 검색하고 관련 힌트를 찾지 못한 것을 바탕으로 이 답변을 드립니다.저는 10g 대신 11g을 살펴보았지만, 10g에 존재하지만 11g에만 문서화된 기능이 몇 가지 있기 때문에 이 경우에는 아마도 더 나을 것입니다.)
그러나 고유하지 않은 인덱스를 고유 제약 조건에 사용할 수 있습니다.그러나 몇 가지 성능 고려 사항이 있습니다. 고유한 인덱스는 더 작고 더 빠릅니다.
create table my_table(a number);
create index my_table_index on my_table(a);
alter table my_table add constraint my_table_unique unique (a)
using index my_table_index;
제약 조건을 삭제하고 다시 만들기만 하면 되는 방식으로 수정할 수 없습니다.다운타임 없이 이 작업을 수행하려면 DBMS_REDEFINITE 패키지를 확인합니다.
내 경우에는 인덱스를 삭제하고 다시 만들기만 하면 됩니다.
DROP INDEX index_name;
CREATE UNIQUE INDEX index_name ON table_name (col01,col02) TABLESPACE indx;
언급URL : https://stackoverflow.com/questions/8917339/alter-a-nonunique-index-to-a-unique-index
반응형
'IT' 카테고리의 다른 글
$.when.apply($, 일부 어레이)의 역할은 무엇입니까? (0) | 2023.08.01 |
---|---|
Oracle이 DML 문을 수행하는 동안 전체 테이블을 잠글 것인지 아니면 행만 잠글 것인지 여부 (0) | 2023.08.01 |
코드를 사용하여 장치 화면 크기 범주(소, 일반, 대, xlarge)를 결정하는 방법은 무엇입니까? (0) | 2023.08.01 |
SQLite 파일 위치 핵심 데이터 (0) | 2023.08.01 |
C-Array가 함수로 전달될 때 C-Array의 크기() 값이 잘못된 이유는 무엇입니까? (0) | 2023.08.01 |