ORA-01735: 부적합한 ALTER TABLE 옵션입니다 (ORA-01735: invalid alter table option)
해당 오류는 ALTER TABLE 명령 구문을 누락하여 발생합니다.
ALTER TABLE 구문은 크게 상기 그림과 같이 있으나, 자주 사용하는 명령어를 누락하는 예시를 간단히 소개해 드리겠습니다.
- alter_table_properties
- column_clauses
- constraint_clauses
- alter_table_partitioning
- alter_external_table
- move_table_clause
- modify_opaque_type
- enable_disable_clause
ALTER TABLE 컬럼 관련 예시
알터 테이블 명령어 중에 컬럼과 관계가 있는 예제 자료를 모아보았습니다.
컬럼 추가하기
ALTER TABLE table_name ADD column_name VARCHAR2(1);
컬럼 수정하기
ALTER TABLE table_name MODIFY column_name VARCHAR2(2);
컬럼 드롭하기
ALTER TABLE table_name DROP COLUMN column_name;
컬럼 이름 바꾸기
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
컬럼 미사용으로 설정하기
ALTER TABLE table_name SET UNUSED COLUMN column_name;
미사용 컬럼 드롭하기
ALTER TABLE table_name DROP UNUSED COLUMNS;
ALTER TABLE 테이블 관련 예시
알터 테이블 명령어에서 테이블을 수정하는 명령어 모음입니다.
테이블 이름 바꾸기
ALTER TABLE old_table_name RENAME TO new_table_name;
테이블 병렬 프로세싱
ALTER TABLE table_name PARALLEL;
테이블 병렬 프로세싱 제약
ALTER TABLE table_name NOPARALLEL;
ALTER TABLE 기본키 관련 예시
기본키에 대한 추가, 수정, 삭제 관련 명령어입니다.
기본키 추가하기
(실제로는 이렇게 바로 추가하시는 것보다는 인덱스 생성단계부터 진행하는 게 낫습니다)
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
기본키 드롭하기
ALTER TABLE table_name DROP PRIMARY KEY CASCADE;
ALTER TABLE table_name DROP PRIMARY KEY;
기본키 비활성화 하기
ALTER TABLE table_name MODIFY PRIMARY KEY DISABLE CASCADE;
ALTER TABLE table_name MODIFY PRIMARY KEY DISABLE;
기본키 활성화 하기
ALTER TABLE table_name MODIFY PRIMARY KEY ENABLE;
ALTER TABLE 제약조건 예시 (체크)
제약조건의 추가, 삭제, 및 활성화와 비활성화에 대해 다루어 보겠습니다.
제약조건 비활성 상태로 추가하기
(예시는 체크 제약조건입니다.)
ALTER TABLE table_name ADD CONSTRAINT check_name CHECK (column_name <> '1') DISABLE;
제약조건 드롭하기
ALTER TABLE table_name DROP CONSTRAINT check_name CASCADE;
ALTER TABLE table_name DROP CONSTRAINT check_name;
제약조건 활성화 하기
ALTER TABLE table_name ENABLE CONSTRAINT check_name;
제약조건 비활성화 하기
ALTER TABLE table_name DISABLE CONSTRAINT check_name;
ALTER TABLE 트리거
테이블의 트리거를 수정하는 명령어입니다.
해당 테이블 모든 트리거 활성화 하기
ALTER TABLE table_name ENABLE ALL TRIGGERS;
해당 테이블 모든 트리거 비활성화 하기
ALTER TABLE table_name DISABLE ALL TRIGGERS;