달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SQL
  • 혼공SQL
  • 알고리즘
  • react
  • 자바
  • java
  • select
  • 백준알고리즘
  • 백준
  • BRONZE
  • MySQL
  • BOJ algorithm
  • BOJ
  • Scanner
  • 백준문제풀이
  • Bronze III
  • Bronze V
  • 문제풀이
  • programmers
  • Bronze IV
  • 알고리즘풀이
  • 혼자공부하는SQL
  • sql 문제풀이
  • Algorithm
  • SQL고득점Kit
  • 프로그래머스
  • math
  • HTML
  • 혼공MySQL
  • java algorithm

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

(혼공MySQL)19.스토어드 함수와 커서의 개념, 커서(cursor)의 단계별 실습 방법
개념 창고/Database

(혼공MySQL)19.스토어드 함수와 커서의 개념, 커서(cursor)의 단계별 실습 방법

2023. 3. 20. 14:49

스토어드 함수를 사용자가 직접 만들어서 사용할 수 있다.

DELIMITER $$
CREATE FUNCTION 스토어드_함수_이름(매개변수)
        RETURNS 반환 형식
BEGIN
        이 부분에 SQL 프로그래밍 코드를 작성 
        RETURN 반환값;
END $$
DELIMITER; 

SELECT 스토어드_함수_이름(); 
스토어드 프로시저가 CALL로 호출하는 반면
스토어드 함수는 SELECT로 호출한다. 


커서는 테이블에서 한 행씩 처리하기 위한 방식이다. 

 

사용할 변수 준비 
DECLARE memNumber INT;
DECLARE cnt INT DEFAULT 0;
DECLARE totNumber INT DEFAULT 0;

DECLARE endOfRow BOOLEAN DEFAULT FALSE;

커서 선언
DECLARE memberCuror CURSOR FOR
          SELECT mem_number FROM member;

반복 조건 선언
DECLARE CONTINUE HANDLER
          FOR NOT FOUND SET endOfRow = TRUE;

커서 열기
OPEN memberCuror;

행 반복하기
cursor_loop: LOOP
 --이부분을 반복
END LOOP cusor_loop 

조건
IF endOfRow THEN
         LEAVE cursor_loop;
END IF; 

저작자표시 비영리 변경금지 (새창열림)

'개념 창고 > Database' 카테고리의 다른 글

[ORACLE] SQL 변수 종류 / 리터럴(literal) 변수와 바인드(bind) 변수  (0) 2023.03.22
(혼공MySQL)20.자동으로 실행되는 트리거(trigger)의 개념과 트리거를 활용하여 데이터 백업하는 방법  (0) 2023.03.20
(혼공MySQL)18.스토어드 프로시저(stored procedure)의 개념과 사용 방법(입출력 매개변수의 활용 방법)  (0) 2023.03.20
(혼공MySQL)16.인덱스의 내부 작동 원리와 구조, 인덱스에서 데이터 검색하기  (0) 2023.03.20
(혼공MySQL)15.인덱스의 개념과 장단점, 클러스터형 인덱스와 보조 인덱스  (0) 2023.03.20
    '개념 창고/Database' 카테고리의 다른 글
    • [ORACLE] SQL 변수 종류 / 리터럴(literal) 변수와 바인드(bind) 변수
    • (혼공MySQL)20.자동으로 실행되는 트리거(trigger)의 개념과 트리거를 활용하여 데이터 백업하는 방법
    • (혼공MySQL)18.스토어드 프로시저(stored procedure)의 개념과 사용 방법(입출력 매개변수의 활용 방법)
    • (혼공MySQL)16.인덱스의 내부 작동 원리와 구조, 인덱스에서 데이터 검색하기
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바