http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
mysql db 백업과 …
delete from~ 시 …
mysqldump 의 에…
파티션 테이블에 …
mysql Query
 
질문과 답변 (Developer) > 커뮤니티 존 > 질문과 답변 (Developer)
Stored procedure 인데 반복호출시 멈추는 현상이 가끔 발생합니다.
글쓴이 : doraq   날짜 : 15-08-25 10:05   조회수 : 1582
DROP PROCEDURE IF EXISTS tivo_hybrid.register_end;
CREATE PROCEDURE tivo_hybrid.`register_end`(
 IN  i_serial VARCHAR(100),
 OUT o_result VARCHAR(50)
)
BEGIN  
 DECLARE dbErr INT DEFAULT 0;
 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET dbErr = -1;
 SET @q_serial = i_serial;
        SET @q_result = 'OK';
 IF (@q_serial IS NULL OR @q_serial = '') THEN
  SET @q_result = 'ERR: NULL argument';
 ELSE
  UPDATE tivo_serial_master SET end_fg = 'OK' WHERE serial = @q_serial;
  IF dbErr < 0 THEN
   SET @q_result = 'ERR: update end_fg';
  ELSE
                        SET @q_result = 'OK';
  END IF;
 END IF;
  SET o_result = @q_result;
  SELECT o_result;
END;

단순합니다. 별거 없어요.
PC쪽에서 마지막으로 "다 잘 했다". 라고  써넣는건데 PC에서
SQLDirectExecute 로 이것을 호출했을때 멈춥니다. 이 함수에서 나오지를 않아요.
Timeout도 설정되있는데 리턴 자체를 안합니다.
발생빈도는 좀 렌덤인데, 300번쯤일때도 있고, 8000번 쯤일때도 있어요.
아무리봐도 이게문제는 아닌거 같은데 PC쪽도 나름 오래 써오던 코드라네요.
조금만 봐주세요..
참, 마지막 SELECT는 @o_result로도 해봤어요. 마찬가지예요.
이전글 MySQL 저작권에 대한 질문을 드리오니 확실한 답변 부탁드립니다. 
다음글 동시간 업데이트 방지 어떻게 해야 할까요? 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.