은인
1k
2015-07-31 16:26:12
3
3003

오라클에서 on delete cascde가 안먹히네요...


1. A

2. B


A테이블의 데이터를 삭제하면 외래키가 걸려있는 B테이블의 데이터도 삭제되게끔


B에 on delete cascade를 해놨는데


A테이블의 데이터를 삭제해도 B의 데이터가 삭제되지 않네요 ㅠㅠ


혹시 왜그런지 아시는분 계신가요 ㅠㅠ

0
0
  • 답변 3

  • ilovecw00
    564
    2015-07-31 16:30:22

    B에 제약조건을 거셨다는건가요?? 혹시?

    그럼 제약조건 건거 좀 올려주세요 

     on casecade의 주체가 되는것은 A 테이블이어야합니다. 


    ALTER TABLE B ADD CONSTRAINT [FK_머시기머시기] FOREIGN KEY ([키값])
       REFERENCES A([키값]) ON DELETE CASCADE

    요래 되있으면 될건딩   

    0
  • 은인
    1k
    2015-07-31 16:32:49
    create table A(
    serial_no number(11) ,
    constraint pk_serial_no primary key (serial_no)
    );


    create table B(
    serial_no number(11) primary key,
    req_no number(11),
    foreign key (req_no) references A(serial_no)  on delete cascade
    );

    이렇게 걸었습니다 ㅠㅠ
    0
  • 은인
    1k
    2015-07-31 16:38:22

    자답입니다...


    Constraint를 B테이블에 안걸어줘서 그랬네요 ㅠㅠ 


    Constraint fk_req foreign key (req_no) references A(serial_no)  on delete cascade


    Constraint fk_req 이걸 안써줘도 테이블이 생기길래 되는건줄알았는데...안써주면 안먹히네요 ㅠㅠ

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.