*.모델링...
--dept table의 deptno에는 pk추가
alter table dept
add constraint dept_pk primary key(deptno)

--emp2 table에 deptno컬럼추가후 fk로 추가.
alter table emp2
add deptno number(2)
add constraint emp2_fk foreign key(deptno) references dept(deptno)

--alter table emp2
--drop column deptno

--alter table emp2
--drop constraint emp2_fk

--emp2의 ename컬럼의 제약조건 삭제.
alter table emp2
drop constraint EMP2_NN

--emp2 스티븐의 부서번호 10번
update emp2
set deptno=10 where ename='스티븐'

update emp2
set deptno=10 where ename='니나'

ex)차수 관계. 예시
--부서 : 사원정보 1:다 관계(배치된다:소속된다)
--부서 : 부서장 1:1 관계(교과강사:교과과정)
--사원 : 물품 다:다 관계(학원접수받다:학원등록한다)

*.관계조건
- 필수사양 : ────
- 선택사양 : …………

create table dept2
as
select * from dept
--테이블과 내용은 복사되지만 제약조건은 복사안됨.

alter table dept2
add constraint dept2_pk primary key(deptno)

select * from user_constraints where table_name='DEPT2'

emp2 -- dept
deptno(fk) -- deptno(pk)

emp3 -- dept3
deptno(fk) -- deptno(pk)

--테이블명 변경.(9i이상)
rename 구테이블명 to 새테이블명
rename dept2 to dept3

create table emp3
as
select * from emp2

alter table emp3
add constraint emp3_fk foreign key(deptno) references dept3(deptno)

--emp2의 부모인 dept; 삭제.
drop table dept;
ORA-02449: 외래 키에 의해서 참조된 테이블에 유일/기본 키입니다

select R_CONSTRAINT_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
from user_constraints;

alter table emp2
drop constraint EMP2_FK;

drop table dept;

--emp3 부모 dept3 삭제
drop table dept3 cascade constraint;


===================================================


 

Posted by 말없제이
,