2014년 3월 25일 화요일

PLSQL등에서 where 1=1의 의미? dynamic sql, execute immediate[오라클교육잘하는곳/오라클교육추천/오라클학원추천/ORACLE학원교육추천/ORACLE교육학원추천/실무오라클교육]

PLSQL등에서 where 1=1의 의미? dynamic sql, execute immediate[오라클교육잘하는곳/오라클교육추천/오라클학원추천/ORACLE학원교육추천/ORACLE교육학원추천/실무오라클교육]


SQL관련 개발을 할 때 where절 이하 SQL문장을 동적으로 만들어야 하는 경우들이 종종 있다.

다음과 같은 쿼리를 보자.

select * from emp where 1 = 1

PLSQL등에서 다이나믹 SQL은 execute immediate구를 통해서 만든다.

동적으로 where절 아래를 생성하게 되는데 가끔은 생성할 필요가 없는 경우들도 있다.

그래서 메인이 되는 SQL을 위 처럼 만들게 되면 문제없이 쿼리문을 실행하 수 있는데,

동적으로 쿼리를 생성한다면 " and..." 이하 또는 " or ,,, " 이하를 만드는데 앞에 where라는 구문을 써야되므로 미리 "where 1 =1 "을 만들어 놓고 추가해서 동적 쿼리를 만드는 것이다.

결국 where 1 =1 은 동적 SQL을 만들 때 효율적으로 사용될 수 있는 것이다.

동적SQL에 대한 강좌는 다음을 참고하라.

댓글 없음:

댓글 쓰기