database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 26921 게시물 읽기
No. 26921
커서 선언시 동적 sql 관련
작성자
또자영
작성일
2007-08-07 16:26
조회수
2,299
 
아래와 같이 조건문에 의한 sql을 생성후 그 변수를 커서에 쓰고 싶은데..
가능한지 알고 싶습니다.
아니면 커서 선언시 동적 sql을 생성할수 있는 방법이 있을까요?.
 
 
 
DELIMITER $$
DROP FUNCTION IF EXISTS `db_svn_auth`.`FC_getDmList`$$
CREATE DEFINER=`irteam`@`%` FUNCTION `FC_getDmList`(p_svc_id varchar(20), p_comp_id varchar(20)) RETURNS text CHARSET euckr
    DETERMINISTIC
BEGIN
 DECLARE done INT DEFAULT 0;
 DECLARE dm_all varchar(1000); 
 DECLARE dm varchar(100);  
        DECLARE v_query text;
        IF p_comp_id != '' THEN 
     set v_query = "select concat(b.user_nm ,'/',b.dept_nm ) dm
   from BD_MENUTREE_DET a, BD_DM_MSTR b, BD_DEPT c
   where a.svc_id = p_svc_id 
   and a.comp_id = p_comp_id
   and a.priv_cd ='U1'
   and a.INUSE_EN = 'Y'
   and b.dept_nm = c.dept_nm
   and a.user_id = b.user_id
   group by b.user_nm,b.dept_nm";
        ELSE
    set v_query = "select concat(b.user_nm ,'/',b.dept_nm ) dm
   from BD_MENUTREE_DET a, BD_DM_MSTR b, BD_DEPT c
   where a.svc_id = p_svc_id 
   and a.priv_cd ='U1'
   and a.INUSE_EN = 'Y'
   and b.dept_nm = c.dept_nm
   and a.user_id = b.user_id
   group by b.user_nm,b.dept_nm";
 END IF;
         DECLARE cur1 CURSOR FOR v_query; 
        
  
 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; 
 set dm_all = "";
 OPEN cur1;
 REPEAT   
  IF NOT done THEN   
   fetch cur1 into  dm;
   set dm_all = concat(dm,"<br>" ,dm_all);
   set dm = ""; 
  END IF;
 UNTIL done END REPEAT;
 
 CLOSE cur1;
 
 return SUBSTRING(dm_all, 5, CHAR_LENGTH(dm_all)-8);
END$$
DELIMITER ;
[Top]
No.
제목
작성자
작성일
조회
26924my-sql 쿼리문 날려서 조회시.. [2]
cjh
2007-08-08
1932
26923MySQL DBA 전문가 과정 [1기] [1]
김혜정
2007-08-07
2784
26922[질문] order by 소트 문제 해결좀 해주세요 [1]
홍길동
2007-08-07
2608
26921커서 선언시 동적 sql 관련
또자영
2007-08-07
2299
26920쿼리 작성에 관한 문의드립니다. [2]
한별이
2007-08-07
1787
26919숫자 정렬에 관한 질문입니다~ [2]
산토스
2007-08-06
1681
26918mysql 에서 float (9,3)에서 괄호안의 의미는? [1]
임시손님
2007-08-06
1649
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다