논리연산자
제약조건명을 명시적으로 부여할 수도 있고, 묵시적으로 제약조건명 없이 제약조건을 설정할 수도 있음(시스템에서 자동으로 생성가능함)
CREATE TABLE
제약 조건의 지정
CREATE TABLE TABLE1{
}
시스템에서 자동 생성되어 제약조건명이 생성된 경우 제약조건을 삭제하고 싶다면,
제약조건명을 찾아서 DROP 시켜주면 된다.
FK제약 조건의 옵션
DELECT나 UPDATE 시 참조무결성에 위배되기때문에
ON DELETE CASCADE ON UPDATE RESTRICT
RESTRICT : 기본값의 삭제 또는 갱신을 불허
NO ACTION : RESTRICT와 동일하게 동작
CASCADE : 아무일도 없었다는 듯이 참조무결성에 위배되기 전에 조치를 취함
- 기본키가 삭제되면 해당값을 외래키로 갖는 레코드도 삭제
- 기본키가 갱신되면 이를 참조하는 외래키를 새로운 값으로 업데이트
SET NULL
- 기본키가 삭제 또는 갱신되면 이를 참조하는 외래키를 NULL로 업데이트
테이블 변경
ALTER문을 통한 테이블 변경
- 칼럼의 추가/삭제/수정, 제약 조건의 추가/삭제
칼럼의 추가
ALTER TABLE PLAYER
ADD (ADDRESS VARCHAR2(80));
칼럼의 삭제
ALTER TABLE PLAYER
DROP COLUMN ADDRESS;
칼럼명 변경
ALTER TABLE PLAYER
RENAME COLUMN PLAYER_ID TO TEMP_ID;
칼럼의 정의 수정
*데이터 타입 변경 : 테이블에 아무 행도 없거나, 해당 칼럼이 NULL만 갖고 있을 때 가능
*칼럼의 크기 변경
칼럼의 크기 확대 -> 항상 가능
칼럼의 크기 축소 -> 테이블에 아무 행도 없거나, 해당 칼럼이 NULL만 갖고있거나, 현재 저장된 값을 수용할 수 있는 크기로의 축소만 가능
* DEFAULT값 추가 및 수정 : 추가 및 수정 이후 삽입되는 행에만 영향을 미침
ALTER TABLE PLAYER_TEMP MODIFY (PLAYER_NAME NOT NULL);
제약조건 추가
ALTER TABLE PLAYER
ADD CONSTRAINT PLAYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID);
테이블 삭제
'Database > Oracle' 카테고리의 다른 글
[SQL] 서브쿼리 (0) | 2021.11.11 |
---|---|
[SQL] 서브쿼리 (0) | 2021.11.11 |
SQL developer 설치 (0) | 2021.11.06 |
오라클 SCOTT계정 lock해제하기 (0) | 2021.05.13 |
3-11 조인 (0) | 2021.04.28 |