MSSQL 기본키와 외래키 생성은 어떻게 하나요?
mssql magagement에서 말고
쿼리로 프로그램에서 mssql 기본키와 외래키 생성하고 싶은데
쿼리를 어떻게 만들어야할까요??
안녕하세요?
예제를 통해 설명해드리겠습니다
필드명은 empno ,jumin 으로 했으니 질문자님 맞게 수정해서 사용하시면 됩니다^^
-주키 테이블 생성시 선언-
create table 테이블명
(
empno varchar2(4),
jumin varchar2(10),
constraint pk_테이블명 primary key(empno)
);-테이블생성후 주키선언-
alter table 테이블명
add constraint pk_테이블명 primary key(empno);-외래키 테이블생성시 선언-
외래키 설정시에는 옵션을 두가지 할 수 있다.
on delete cascade, on update cascade
on delete no action, on update no action
cascade는 참조테이블의 키값이 변경하면 외래키를 사용하는 테이블의 데이터가 연쇄 삭제 또는 업데이트를 의미하고
no action은 참조테이블의 키값이 변경하든 삭제하든 아무런 액션을 취하지않는다.
create table 테이블명
(
empno varchar2(4),
jumin varchar2(10),
constraint fk_테이블명 foreign key(empno)
reference 참조테이블명(empno)
[on delete cascade] //부모를삭제하면 자식까지 삭제
);-테이블생성후 외래키선언-
alter table 테이블명
add constraint fk_테이블명 foreign key(empno)
reference 참조테이블명(empno);-테이블 키삭제-
alter table 테이블명
drop constraint pk_테이블명 [cascade] //연계된 자식까지 키삭제;-데이터컬럼들의 데이터제한시-
check는 해당 필드의 데이터를 insert, update 할때 데이터값을 체크하기 위함이다.
밑에 있는 create문은 toeic이라는 필드가 0초과이어야한다.
create table 테이블명
(
empno varchar2(4),
toeic number(4),
constraint check_toeic check(toeic>0),
constraint pk_테이블명 primary key(empno)
);