다이나믹 sql을 사용안하고 조건을 처리 할 수 있나요? 0 3 1,717

by 최명규 [PL/SQL] [2011.11.11 20:26:48]


프로시저를 만들때 보통 다이나믹 SQL을 사용하는데요.. 

이 다이나믹 SQL은 보기도 어렵고 좀 그래서

일반 SQL로 바꾸고 싶습니다..

그런데 if조건에 따라 값이 null 이 아니면 어떤 쿼리를 and ~~~~ 이런식으로 추가 하게 되는데

이걸 일반 sql문으로도 가능 할까요? 
by 부쉬맨 [2011.11.11 20:36:39]
if 값 then
쿼리
elsif 값 then
쿼리
end if;

문법은이럽니다.

by finecomp [2011.11.13 15:40:11]
단순히 바인드되는 변수의 값 정도만 바뀌면서 조건이 형성되는 거라면,
AND (:val1 IS NULL OR val = :val1)

또는 실행계획을 완전히 분리하여,

SELECT ~~
FROM ~~
WHERE :val1 IS NULL
나머지조건들~~
UNION ALL
SELECT ~~
FROM ~~
WHERE :val1 IS NOT NULL
AND ~~
나머지조건들~~

참고하세요~~

by 나그네 [2011.11.14 14:24:57]
jsp에서도 다이나믹 쿼리를 이용하지 않고도 가능합니다.
if(condition)
sql += "and a = b";
else
sql += "and c = d";
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입