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 29607 게시물 읽기
No. 29607
mysql dynamic cursor 사용가능한가요?
작성자
김기철(romico)
작성일
2010-04-05 14:49
조회수
8,937

안녕하세요~~

Mysql에서도 다이나믹 커서를 사용할 수있는지해서 질문해봅니다.

빨간 줄부터 컴파일이 안되고 구문 오류를 뱉어내는군요..

내부에서 페이징해서 커서를 이용해 결과를 리턴시키려고합니다.

PREPARE를 사용해서 바인딩할 방법이 있을까요?

 

DELIMITER $$

CREATE DEFINER=`SP_SCHEDULER`@`%` PROCEDURE `REQ_ITEMS_LIST`(
 IN _ITME_CATEGORY_IDX INT,
 IN _PAGESZIE INT,
 IN _NCURRENTPAGE INT,
 INOUT _ITEM_LISTARRY VARCHAR(2000))
BEGIN
 
  DECLARE done INT DEFAULT 0;
  DECLARE  __ITEM_LISTARRY  VARCHAR(2000) DEFAULT '' ;
  DECLARE  __ITEM_LISTSIZE  INT DEFAULT 0 ;
  DECLARE  __TOTALROW  INT DEFAULT 0;
  DECLARE _LIMITMAX INT DEFAULT 0;
  DECLARE _LIMITMIN INT DEFAULT 0;
  DECLARE _CNT INT DEFAULT 0;

  
  DECLARE _NPAGECNT INT DEFAULT 5;
  

  DECLARE TMP_ii_Idx  INT DEFAULT 0;
  DECLARE TMP_ic_Idx   INT DEFAULT 0;
  DECLARE TMP_ii_Type   INT DEFAULT 0;
  DECLARE TMP_iI_Name VARCHAR(150) DEFAULT '';
  DECLARE TMP_ii_Price  VARCHAR(150) DEFAULT '';
  DECLARE TMP_ii_Emoneymax VARCHAR(150) DEFAULT '';
  DECLARE TMP_ii_Emoneymin VARCHAR(150) DEFAULT ''; 
  DECLARE TMP_ii_Description VARCHAR(150) DEFAULT ''; 
  DECLARE TMP_iI_OpenVMYN   INT DEFAULT 0;
  DECLARE TMP_iI_SaleYN   INT DEFAULT 0;
  DECLARE TMP_ii_Imgsrc VARCHAR(150) DEFAULT '';          
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;   


  SET __ITEM_LISTARRY = '';

  SELECT COUNT(ii_Idx) INTO _CNT  FROM ITEM_INFO NOLOCK WHERE iI_SaleYN = 1 AND   iI_OpenVMYN = 1 LIMIT 0, 1; 
  
  
  IF _CNT > 0 THEN
    
   SET _NPAGECNT =  (SELECT ((_NPAGECNT - 1) / _PAGESZIE + 1)) ;
   SET _LIMITMIN =  (SELECT ( _PAGESZIE *  _NCURRENTPAGE)) ;
   
   SET __TOTALROW = _CNT;


   DECLARE cur CURSOR FOR  SELECT  ii_Idx, ii_Imgsrc FROM ITEM_INFO NOLOCK  WHERE iI_SaleYN = 1 AND   iI_OpenVMYN = 1 LIMIT 1, 1;      
     
   OPEN cur;
   CLOSE cur;

    
  END IF;

 END$$

DELIMITER ;

이 글에 대한 댓글이 총 1건 있습니다.

적어도 MySQL 5.x 버전에서는 지원되지 않을 겁니다. (레퍼런스를 찾아보니 아래와 같이 적혀있습니다)

Cursors must be declared before declaring handlers. Variables and conditions must be declared before declaring either cursors or handlers.

 

 

박현우(lqez)님이 2010-04-05 15:21에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29610mysql 인라인뷰 조인 [1]
김광수
2010-04-06
9386
29609IIS와 DB 연동할때 DB의 주소 보는법 [1]
장경호
2010-04-06
8299
29608다중 테이블 검색시 [1]
김광수
2010-04-06
9019
29607mysql dynamic cursor 사용가능한가요? [1]
김기철
2010-04-05
8937
29606mysql 미러링을 할때.. [2]
이하사
2010-04-05
8341
29605다중값 쿼리 질문 [1]
김광수
2010-04-05
7302
29604안녕하세요 쿼리질문 입니다. [1]
투루로맨스
2010-04-05
7778
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다