의사테이블을 만드는 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