2017. 5. 4. 15:56ㆍIT/MS-SQL
MS-SQL 예외처리 방법을 알아보자.
MSSQL에서 예외처리를 하고 싶을때 주로 exists 구문을 사용한다.
예를 들어서 Table1과 Table2의 데이터 중에서 한쪽에 없는것만 확인 하고 싶을때,
두 테이블의 여집합을 구하고 싶을때 사용한다.
1. Table Name : TEST01
Column : A, B, C, D
2. Table Name : TEST02
Column : C, D, E, F
ex)
INSERT INTO TEST01 ( A, B, C, D ) VALUES ( 'A1', 'B1', 'C1', 'D1' )
INSERT INTO TEST01 ( A, B, C, D ) VALUES ( 'A2', 'B2', 'C2', 'D2' )
INSERT INTO TEST01 ( A, B, C, D ) VALUES ( 'A3', 'B3', 'C3', 'D3' )
INSERT INTO TEST01 ( A, B, C, D ) VALUES ( 'A4', 'B4', 'C4', 'D4' )
INSERT INTO TEST02 ( C, D, E, F ) VALUES ( 'C1', 'D1', 'E1', 'F1' )
INSERT INTO TEST02 ( C, D, E, F ) VALUES ( 'C2', 'D2', 'E2', 'F2' )
INSERT INTO TEST02 ( C, D, E, F ) VALUES ( 'C3', 'D3', 'E3', 'F3' )
INSERT INTO TEST02 ( C, D, E, F ) VALUES ( 'C4', 'D4', 'E4', 'F4' )
INSERT INTO TEST02 ( C, D, E, F ) VALUES ( 'C5', 'D5', 'E5', 'F5' )
예외처리 구문
위에서 보는거와 같이
TEST02를 조회하면서 TEST01에 있는 데이터는 조회하지 않는 코드를 구현했다.
밑에 소스코드 부분을 작성해 두었으니 복사해서 참고하길 바란다.
select *
from TEST02
where 1=1
and not exists (select null from TEST01 where TEST01.C = TEST02.C)
select *
from TEST02 T2
where 1=1
and not exists (select null from TEST01 T1 where T1.C = T2.C)
'IT > MS-SQL ' 카테고리의 다른 글
MSSQL DATABASE 백업 DB 만들기 / 테스트 DB 만들기 (0) | 2017.11.09 |
---|---|
MSSQL 특수문자 LIKE 조회하기 Escape 사용하기 _%#&- 등 조회 (0) | 2017.11.08 |
[MSSQL] DATEADD 사용법 / 날짜 및 시간 더하기 / 날짜 및 시간 빼기 (0) | 2017.03.31 |
SQL Server Profiler (프로파일러) 사용법 (0) | 2017.03.14 |
[MS-SQL] xp_dirtree [폴더 검색], xp_cmdshell [파일 복사,이동,삭제등] (0) | 2017.02.28 |