한 번에 둘 이상의 제약 조건을 삭제하는 방법(Oracle, SQL)
데이터베이스의 제약 조건을 변경하는 중인데 일부 제약 조건을 삭제해야 합니다.단일 제약 조건에 대한 명령은 다음과 같습니다.
ALTER TABLE tblApplication DROP CONSTRAINT constraint1_name;
하지만, 내가 노력할 때
ALTER TABLE tblApplication DROP (
CONSTRAINT constraint1_name,
CONSTRAINT constraint2_name,
CONSTRAINT constraint3_name
);
작동하지 않아요. 해야 할 일이 있어요.
ALTER TABLE tblApplication DROP CONSTRAINT constraint1_name;
ALTER TABLE tblApplication DROP CONSTRAINT constraint2_name;
ALTER TABLE tblApplication DROP CONSTRAINT constraint3_name;
단일 명령에서 두 개 이상의 제약 조건을 제거하는 방법이 있습니까?반복되는 것을 피하고 싶습니다.ALTER TABLE tblApplication와 마찬가지로ADD명령:
ALTER TABLE tblApplication ADD (
CONSTRAINT contraint1_name FOREIGN KEY ... ENABLE,
CONSTRAINT contraint2_name FOREIGN KEY ... ENABLE,
CONSTRAINT contraint3_name FOREIGN KEY ... ENABLE
);
네, 가능합니다.제약 조건별로 'drop 제약 조건'을 반복하면 됩니다.
alter table t1
drop constraint fk1
drop constraint fk2
/
편집: Oracle 11과 비교하여 테스트한 결과 정상적으로 작동했습니다.이전 버전에 대해 알지 못합니다.
테이블의 열과 관련된 제약 조건을 삭제하고 CASCADE를 사용하여 열을 삭제할 수 있는 대체 양식이 있습니다.
ALTER TABLE table1 DROP (columnName) CASCADE CONSTRAINTS;
Oracle 11g에서 테스트되었습니다.
예: 이렇게 변수에 대한 제약 조건을 만들어 MySQL에 제약 조건을 삭제할 수 있습니다.
create table sample(id int, name varchar(30), marks int, constraint uid unique(id), constraint un unique(name));
alter table sample drop constraint uid, drop constraint un;
예, 여러 개를 동시에 삭제할 수 있습니다.
ALTER TABLE TABLE NAME
DROP CONSTRAINTS CONSTRAINT VALUE
DROP CONSTRAINTS CONSTRAINT VALUE;
언급URL : https://stackoverflow.com/questions/5859106/how-to-drop-more-than-one-constraint-at-once-oracle-sql
'source' 카테고리의 다른 글
| 이벤트 핸들러가 jQuery의 요소에 바인딩되어 있는지 테스트 (0) | 2023.08.08 |
|---|---|
| 도커 컨테이너 내부의 루트 암호 (0) | 2023.08.08 |
| 단일 쿼리에서 합계 및 합계를 기준으로 그룹 가져오기 (0) | 2023.08.08 |
| PHP에서 람다는 무슨 용도입니까? (0) | 2023.08.08 |
| Python/Django: runserver에서 콘솔로 로그, Apache에서 파일로 로그 (0) | 2023.08.08 |