'[MSSQL2000과2005]'에 해당되는 글 1건

  1. 2007.11.20 MS SQL 2000에서 2005로 업그레이드 할 때 수정할 사항.
MS SQL Server2007. 11. 20. 10:55


자. 바로 쿼리문 들어가 보자.

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 방식으로 설정하는 것도 있겠지만,
역시 찾아본 바는 없다.

난 찌질개발자니까.

Posted by miing