특정번호만 예외처리 하는 방법을 알고 싶습니다. 0 3 970

by 최사원 [Oracle 기초] [2018.03.14 22:21:54]


전화번호부에 같은 전화번호는 들어가지 않게 validation 체크를 만들었습니다.

 

SELECT (CASE WHEN COUNT(*) > 0 THEN 'true' ELSE 'false' END ) AS '중복'

   FROM PhoneBook

where phoneNumber = #phoneNumber#

 

이미 등록된 번호(phoneNumber)가 있으면, true 인데,

       특정번호(010-7777-7777)는 중복되도 false 가 나오게 하고 싶은데, 무엇을 추가해야하나요?

 

--------------------------------------------------------------------------------

SELECT (CASE WHEN COUNT(*) > 0 THEN 'true' ELSE 'false' END ) AS '중복'

   FROM PhoneBook

where phoneNumber = #phoneNumber#  <-- 01077777777

 and phoneNumber not in ('01077777777')

을 하면 맞을까요?

by 아발란체 [2018.03.15 09:32:03]

네 NOT IN 이용하는 방법 괜찮아 보입니다.

예외적으로 중복을 허용하는 번호가 1개가 아니라면 예외번호를 별도 조회하더라도 같은 방법으로 

AND phoneNumber NOT IN(SELECT 예외번호 FROM 테이블) 식으로도 되니 좋은 방법으로 보입니다.


by 우리집아찌 [2018.03.15 09:32:25]

FLAG 값 가져가는 컬럼을 만들어서 비교하시면 될듯한데요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입