DatabaseMYSQL, MariaDB 프로시저 종료 방법

2023-07-16

프로시저를 작성할 때


특정 테이블의 상태에 따라 작업을 할 지 말 지 결정된다면


아래와 같이 데이터를 조회하여 count(*)를 q_cnt 변수에 저장한 뒤


IF문을 통해 값이 없으면 LEAVE 명령어로 프로시저를 종료한다


종료할 프로시저명은 첫 줄 BEGIN 앞에 써둔 PROC_BODY 와 일치시킨다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
PROC_BODY: BEGIN
  DECLARE q_cnt INT;
 
  -- 데이터 조회
  SELECT COUNT(*) INTO q_cnt FROM table WHERE a = 1;
  
  -- 데이터가 없으면 프로시저 종료
  IF q_cnt = 0 THEN
    LEAVE PROC_BODY;
  END IF;
    
 
  -- 데이터가 있으면 이후 작업 실행
  INSERT INTO table_2(a,b,c)
  VALUES (1,2,3);
  
END
cs