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 29233 게시물 읽기
No. 29233
stored proc 사용시 cursor 에 관하여
작성자
아이오
작성일
2009-08-31 21:49ⓒ
2009-08-31 21:49ⓜ
조회수
6,933

오라클만 사용해보다 처음 mysql 을 사용해보고있습니다.

mysql 에도 stored proc 가 있다길래 사용해보고있는데요

cursor 사용할 때 문제가 있어 질문해봅니다.


1.


오라클에서는 선언(type)만해놓고 cursor 의 내용은 open 전에 변수및 조건반영하여 할 수 있었는데.

mysql 에서는 위에 무조건 내용까지 선언하는 방법밖에는 없나요? 

조건에 따라 cursor  를 같은 이름으로 다르게 열어 작업을 해야하거든요...


2.


또한 커서의 끝을 인식하는 부분은 어떻게 처리하나요? 

오라클에서 사용했던 방식 : c_RFOUT%NOTFOUND;

안해도 되는건지....


3.


또한 작업처리하다가 오류가나거나 try except 처럼 처리할 수 있는 오류처리부분을 넣을 방법은 없나요? 

               EXCEPTION     

               WHEN DUP_VAL_ON_INDEX THEN


이쪽  부분은 참고할만한 자료를 가르쳐주셔도 좋구요...

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

커서가 쓰여진 예제를 붙여 봅니다. 도움이 되셨으면 합니다.

[커서 예제]
delimiter$$
create procedure cursor_ex()
reads sql data
begin
declare l_empl_id int;
declare l_pay numeric(8,2);
declare l_dep_id int;
declare done int default 0;
declare cur1 cursor for
select empl_id, pay, dep_id from empls;
declare continue handler for not found set done=1;

open cur1;
emp_loop:loop
fetch cur1 into l_empl_id, l_pay, l_dep_id;
if done=1 then
leave emp_loop;
end if;
end loop emp_loop;
close cur1;
$$

delimiter;

커서 관련 예제 링크
http://www.sqldic.co.kr/sqldicView.action?sqldic.bbs_seq=57



http://www.sqldic.co.kr/sqldicView.action?sqldic.bbs_seq=95


 

김두형(SQLdic)님이 2009-09-01 09:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29251mysql 프로시저 질문입니다.
haoul
2009-09-03
6446
29235trigger를 쓰면 계속 오류가 납니다
qordudwls
2009-09-02
6400
29234mysql에서 캐릭터셋 변경 어떻게 하나요? (한글깨짐 문제) [1]
궁금
2009-09-02
9480
29233stored proc 사용시 cursor 에 관하여 [1]
아이오
2009-08-31
6933
29232mysqldump 로 백업 시 foreign key 구문이 빠집니다. ㅡㅡ;;
김상묵
2009-08-31
5715
29231innodb질문입니다 [1]
qordudwls
2009-08-31
7029
29230회원별 최근 10개 레코드 [7]
길동
2009-08-29
6868
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다