티스토리 뷰

foreign key const 


-define


 * create a parent table for the following explanation


create table dept(

dno   number(4) primary key

,dname varchar2(20) not null;



1) column level


create table emp(

empno number(4) primary key

,ename varche2(30) not null

, sal  number(6)

,dno   number(4) references dept(dno));

cf.) if dno os pk for dept then you can omit the column dno,.



2) table level


create table emp(

 empno number(4)

, ename varchar2(30)

, sal number(6)

, dno number(4)

, primary ket(empno)

, check(ename is not null)

/*not null 은 쓰지못함*/

, foregin key(dno) references dept(dno));


- drop


<assume: table emp refereces table dept wirh fk is emp.

dno and pk and emp and ept are populated.>


1) delete from dept

    where dno = 10;

=> 참조제약 위배 에러발생

해결: on delete cascade or on delete set null on fk


2) alter table dept

   drop column dno;

=> 참조제약 위배 에러발생

해결: alter table dept drop cloumn dno cascade constraint


3) alter table dept

   drop primary ket;

=> 참조제약 위배 에러발생

해결: alter table dept drop primary key cascade;



4) alter table dept

   disable primary key;

=> 참조제약 위배 에러발생

해결: alter table disable primary key cascade;


5) drop 부모table dept;

=> 참조제약 위배 에러발생

해결: drop table dept cascade constraint;




'DB, Storage > oracle' 카테고리의 다른 글

2013/10/11 WS1 memo  (0) 2013.10.11
2013/10/10 workshop1 memo  (0) 2013.10.10
2013/10/08 workshop1-1 memo  (0) 2013.10.08
2013/10/08 db architect memo  (0) 2013.10.08
20130911 oracle Flashback  (0) 2013.09.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함