[오라클] 부모 컬럼 지우면 자식 컬럼 지워짐
본문 바로가기
IT. 컴퓨터

[오라클] 부모 컬럼 지우면 자식 컬럼 지워짐

by 솔기잇 2020. 4. 17.

## 부모 컬럼을 지우면 자식 컬럼도 지워진다. ##

 

 

구글 이미지

 

<< TBL_NEWMEMBER 테이블 생성 >>

CREATE TABLE TBL_NEWMEMBER

(ID                VARCHAR2(10)

,PASSWD          VARCHAR2(10) NOT NULL

,NAME             VARCHAR2(10)

CONSTRAINT TBL_NEWMEMBER_NAME_NN NOT NULL

,MPHONE         VARCHAR2(15) --NULL

,CONSTRAINT TBL_NEWMEMBER_ID_PK PRIMARY KEY(ID)

);

 

<< TBL_NEWLOGIN 테이블 생성 >>

CREATE TABLE TBL_NEWLOGIN

(ID                VARCHAR2(10)

,PASSWD          VARCHAR2(10)

CONSTRAINT TBL_NEWLOGIN_PASSWD_NN NOT NULL

,CONSTRAINT  TBL_NEWLOGIN_ID_PK  PRIMARY KEY(ID)

,CONSTRAINT TBL_NEWLOGIN_ID_FK FOREIGN KEY(ID)

            REFERENCES TBL_NEWMEMBER(ID)  -- 참조한다. 이것은 1: 관계

ON DELETE CASCADE  --부모의 컬럼의 행을 지우면 자동적으로 자식 행도 지워진다.

                          -- 1:1관계에서만 쓰는 (1: 관계에서는 안된다.)

);                  

 

 

 

-- 데이터 넣기 

INSERT INTO TBL_NEWMEMBER VALUES

('YOUKS','JAVA302$','유관순','010-999-8888');

INSERT INTO TBL_NEWMEMBER VALUES

('AHNJK','ABC302$','안중근','011-333-8888');

 

 

 -- 데이터 넣기

INSERT INTO TBL_NEWLOGIN VALUES

('YOUKS','JAVA302$');

INSERT INTO TBL_NEWLOGIN VALUES

('AHNJK','ABC302$');

 

COMMIT;

 

 

--조회

SELECT *

FROM TBL_NEWMEMBER;

 

SELECT *

FROM TBL_NEWLOGIN;

 

****************************************************************

 

-- 컬럼지움 ( 두개가 동시에 지워짐 )

DELETE TBL_NEWMEMBER

WHERE ID = 'AHNJK';.


close