혹시 동물뉴스 라구 들어 보셨나여?
과속을 하다 5중 추돌 사고를 내고 뺑소니를 친 거북이를 입건했습니다. '아주 무서운 속도로 달렸다'는 유일한 목격자인 굼벵이의 진술과는 달리 '누구 약올리냐?'며 항소할 뜻을 밝혔습니다. 안녕하세요.... 귀염둥이 안규랍니다. 웃고 삽시당,~~~~~~~~~~~~~~~ 헤~~~~(썰렁한 사람이라구여?,,,,,(어케 알아찌?(-.-)) 오늘 체크란 넘에 대해서 함 알아볼까 합니다. 체크는 컬럼에 원하는 조건을 만족하는 데이터만 저장되도록 할대 사용하는 방법입니다. 이때 조건은 WHERE 문장과 유사하게 해당 컬럼에 저장되는 데이터값의 범위, 특정 패턴의 숫자 또는 문자열 뿐만 아니라 같은 테이블 내에 다른 컬럼도 참조해서 제약을 줄수 있답니다. 그럼 아래는 체크 Constraints를 사용할 때 고려할 점들입니다. 함 읽어 보시길 바랍니다.....
다음 예제는 테스트를 목적으로 간단하게 테이블을 정의 하고 테이터를 추가하여 체크 Constraints가 어떻게 적용되는지 보여 준답니다. 여러분도 한번 직접 같이 테스트 해보실 바랍니다. 어려운게 아니니까여.. 걱정은 마시구여... 위의 그림을 보시면 check에대한 예제와 그리구, Constraints에 대해서 올라와 있습니다. 거렙인 여러분이 보시면 그리 어려운 내용이 아니지여??? 그럼, 간단하게 테스트 하면서 설명드리도록 하겠습니다. insert checkconst values(1,2,'A..','A') insert checkconst values(200,300,'F..','B') 위의 두개의 문장을 각기 실행 시켜 보시기 바랍니다. 첫문장은 수행이 잘되겠지만 , 두번째 문장은 에러가 뜰겁니다. 우리는 value1 필드에 대해서 제약을 주었습니다. (between 1 and 100) 이라고 주었지여? 이건 1~100까지의 숫자만을 SQL 서버에서 입력을 받습니다. 위의 문장은 200 이 들어 갔기 때문에 서버: 메시지 547, 수준 16, 상태 1, 줄 1 INSERT 문이 COLUMN CHECK 제약 조건 'CK__checkcons__value__182C9B23'과(와) 충돌되었습니다. 충돌은 'test' 데이터베이스, 'checkconst', column 'value1' 테이블에서 발생했습니다. 문이 종료되었습니다. 위와 같은 에러메세지를 만나게 될겁니다. 우리는 여기에서 check value1 < value2 란 Constraints를 만나게 되는데여... 이 제약은 필드에 대한 제약 입니다. 예를들어 insert checkconst values(90,90,'F..','B') 이런식으로 입력이 되었을때,,, value1 과 value2의 값중에 value1 < value2의 조건에 만족하지 않으면 에러가 뜨게 되겠지요. (^.^) 이 외에도 여러가지의 제약이 있습니다. 예를 하나만 더 들어보도록 하겠습니다. 여러분은 싸이트를 개발하시면서 회원가입을 많이 받아 온답니다. 만약 주민등록번호 문자열에 대한 패턴을 지정하고 싶을땐 어떻게 해야 할까여? 그럼, 한번 테스트해 보도록 하겠습니다. ![]() 위의 문장에선 alter table을 사용했는데여. constraint ch_jumin1은 제약 이름이랍니다. insert checkconst values(10,20,'AAA','B','741215','2234567') 여러분이 다음과 같이 테스트를 직접 해 보시길 바랍니다. 정확히는 아니겠지만, 어느정도 잘못된 데이타는 막을수 있을거란 생각을 해 봅니다. 어렵지 않으시지여??? 다음에 만나실때는 PRIMARY KEY 에 대해서 좀 알아보도록 하겠습니다. 그럼, 오늘도 편안한 밤 되세요.. 정말 방이 짜증날 정도로 덮네여.... 휴~~~~~~~~~~~~~~~~~~~
|
||||||||||||