데이터베이스 개발자 질문과 답변 게시판
의사테이블을 만드는 SQL문을 작성했는데, 자꾸 CREATE TABLE 구문 오류가 뜹니다.
액세스에서 의사테이블표를 만든 뒤에 SQL구문을 작성해서 그런가요?
CREATE TABLE 의사(
의사번호 CHAR(3),
의사이름 VARCHAR(3),
소속 VARCHAR(3) DEFAULT '내과'
WHERE 근무연수>=1 AND 근무연수 <=40
PRIMARY KEY(의사번호)
);
어디가 문제인가요?
Comment 6
-
건우아빠
2013.11.05 16:34
-
뻐내너
2013.11.05 16:54
테이블디자인에서 의사테이블 표를 생성후 저 SQL문을 작성해야 하나요?
-
하하하하하
2013.11.05 17:00
저 sql문을 작성해야 한다는 말이
테이블 만들고 나서
근무연수가 1년에서 40년 사이인 데이터를 검색하고 싶으신것 같은데
CREATE TABLE 의사(
의사번호 VARCHAR(3),
의사이름 VARCHAR(30),
소속 VARCHAR(30) DEFAULT '내과' ,
근무연수 INTPRIMARY KEY(의사번호)
);이렇게 테이블을 만드시고
테이블 안에 insert문을 사용하여 데이터를 넣으신 다음에
select *
from 의사
where 근무연수 >= 1 AND 근무연수 <= 40
이렇게 검색하셔야 됩니다
where 문으로는 검색할때 조건을 줄 수 있습니다.
-
뻐내너
2013.11.05 17:11
답변 감사합니다!
-
건우아빠
2013.11.05 17:01
답글을 보시면 두가지 다 있습니다.
테이블 디자인으로 만드시고 하신다면 ALTER TABLE을 하시면 됩니다.
엑세스에서 하시는 구문이 안먹을수 있습니다.
MSSQL 익스프레스를 다운 받아서 설치하세요...
-
뻐내너
2013.11.05 17:16
답변 감사합니다! 많이 배워갑니다^^
네. 이런식으로 해보시면서 하나씩 질문을 하시는게 좋습니다...
원하시는건 제약 조건을 거는 겁니다.. 이때는 CHECK 옵션을 통해서 제약 조건을 걸수 있습니다.
-- 생성시 제약 조건을 줄때
CREATE TABLE 의사(
의사번호 VARCHAR(3),
의사이름 VARCHAR(30),
소속 VARCHAR(30) DEFAULT '내과' ,
근무연수 INT CHECK ( 근무연수 >= 1 AND 근무연수 <= 40 )
PRIMARY KEY(의사번호)
);
-- 이미 생성된 테이블에 제약조건을 줄때
ALTER TABLE 의사
ADD CONSTRAINT 근무연수 CHECK ( 근무연수 >= 1 AND 근무연수 <= 40 );
GO