자. 바로 쿼리문 들어가 보자.
MS SQL 2000에서는
IF (조건)
SELECT testcode, testname FROM tbTEST WHERE tbTEST.testcheck = N'Y'
이런 쿼리문과
IF (조건)
SELECT testcode, testname
FROM tbTEST
WHERE tbTEST.testcheck = N'Y'
이런 쿼리문이 똑같이 실행된다.
즉, 하나의 스테이트먼트일 때는 BEGIN, END가 필요없다.
하지만 MS SQL 2005에서는
첫번째 쿼리
IF (조건)
SELECT testcode, testname FROM tbTEST WHERE tbTEST.testcheck = N'Y'
위의 쿼리는 정상 실행이 되지만,
IF (조건)
SELECT testcode, testname
FROM tbTEST
WHERE tbTEST.testcheck = N'Y'
이런 식으로 쿼리를 작성하면, 에러가 뜬다.
아마 IF조건 아래 BEGIN, END가 없으면 무조건 첫번째 줄만 인식하는 것으로
변경된 듯 하다.(아무데서도 찾아본 바 없이 그냥 내 생각)
그래서 MS SQL2005 에서는
IF (조건)
BEGIN
SELECT testcode, testname
FROM tbTEST
WHERE tbTEST.testcheck = N'Y'
END
이런 식으로 작성해 주어야 한다.
마소도 바보가 아니니 분명 어디 설정에선가 2000 방식으로 설정하는 것도 있겠지만,
역시 찾아본 바는 없다.
난 찌질개발자니까.