where 조건에 따라
select를 실행하고 싶습니다..
고수 여러분 부탁드릴께염...
MS에서는 사용해도 별 무리 없었는데 ... ㅠ.ㅠ;
DECLARE W_STR VARCHAR(250);
IF I_SNR_NO <> 0 THEN
SET W_STR='AND I_SNR_NO =' I_SNR_NO;
ELSE
SET W_STR=''
END IF ;
Select * from tabel
W_STR
> cat 1.db2 @ CREATE PROCEDURE sp1 (IN p_no CHAR(2),OUT p_stmt VARCHAR(250)) LANGUAGE SQL DYNAMIC RESULT SETS 1
BEGIN
DECLARE v_stmt VARCHAR(250);
SET v_stmt = 'SELECT * FROM ORG ';
IF p_no <> '' THEN SET p_stmt = v_stmt || 'WHERE DEPTNUMB = '|| p_no; ELSE SET p_stmt = v_stmt ; END IF ;
END @ > db2 -td@ -vf 1.db2 CREATE PROCEDURE sp1 (IN p_no CHAR(2),OUT p_stmt VARCHAR(250)) LANGUAGE SQL DYNAMIC RESULT SETS 1
END
DB20000I The SQL command completed successfully.
> db2 "call sp1('20',?)"
Value of output parameters -------------------------- Parameter Name : P_STMT Parameter Value : SELECT * FROM ORG WHERE DEPTNUMB = 20
Return Status = 0