728x90
반응형
커서 CURSOR
- 쿼리 결과를 한 행씩 처리하기 위한 방식
- SELECT 문으로 테이블 읽으면 전부다 읽어버리는데 cursor를 사용해서
처음부터 하나하나 읽을 수 있게된다.
커서 문법
declare < 커서명> cursor for <select 문> --------- 커서 생성
open <커서명> --------- 커서 열기
fetch <커서명> ---------- 커서로 한행씩 읽기
close <커서명> ---------- [커서 닫기]
drop procedure if exists proc_single_column_cusor;
delimiter $$
create procedure proc_single_column_cusor()
begin
declare _name varchar(30);
declare _name_list varchar(1000) default '' ;
declare _cursor_usertbl cursor for select name from usertbl;
open _cursor_usertbl;
fetch _cursor_usertbl into _name;
set _name_list = concat(_name_list, _name,' ');
fetch _cursor_usertbl into _name;
set _name_list = concat(_name_list, _name,' ');
fetch _cursor_usertbl into _name;
set _name_list = concat(_name_list, _name,' ');
fetch _cursor_usertbl into _name;
set _name_list = concat(_name_list, _name,' ');
close _cursor_usertbl;
select _name_list;
end $$
delimiter ;
call proc_single_column_cusor();
728x90
반응형
'Database > mysql' 카테고리의 다른 글
[MYSQL /Database] 트랜잭션의 격리 수준 (0) | 2023.04.14 |
---|---|
[MYSQL /Database] 트리거 trigger (0) | 2023.04.14 |
[MYSQL /Database] function 함수 (0) | 2023.04.14 |
댓글