테스트 사이트 - 개발 중인 베타 버전입니다

프로시저 기본편

· 2년 전 · 717

업무가 주어질 때 프로시저를 사용하는 건 지양하는 편인데요

본의 아니게 사용해야 할 일들이 생겨서 스터디 하고 기록해 보려 합니다.

 

도구는 HeidiSql 을 사용했습니다.

 

  테스트에 사용할 테이블 하나를 만듭니다.   

 

1
2
3
4
5
6
7
8
9
CREATE TABLE `g5_test_proc1` (
`seq` INT NOT NULL AUTO_INCREMENT,
`data1` INT NULL DEFAULT '0',
`gbn1` INT NULL DEFAULT '0',
PRIMARY KEY (`seq`)
)
COMMENT='프로시저 테스트용'
COLLATE='utf8mb4_general_ci'
;
cs

 

 

좌측 디비, 테이블 등 리스트에서 디비에 우클릭하면 프로시저를 생성할 수

있네요.

 

프로시저 내용은 파라미터의 값보다 자유게시판 게시물의 수가

크면 개수 값을 g5_test_proc1에 인서트 해라... 입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
BEGIN
 
-- 변수 선언
DECLARE VAL_COUNT INTEGER;
 
SET Result1 = -1;
SELECT COUNT(*)
    INTO VAL_COUNT -- 변수에 값 할당
FROM g5_write_free;
 
IF Param1 < VAL_COUNT THEN
    INSERT INTO g5_test_proc1( DATA1 ) VALUES( VAL_COUNT );
    SET Result1 = 1;
END IF;
 
END
cs

 

 

내용은 위와 같고요.

툴에서 파라미터를 지정할 수 있더군요.

입력하는 파라미터와 출력 받는 파라미터 2개를 지정해 줍니다.

 

 

 

 

다음은 테스트 방법 및 결과

CALL TEST_PROC1( 3 , @RESULT);

SELECT @RESULT; -- 프로시저 리턴값 확인

SELECT * FROM g5_test_proc1;

 

 

잘 등록됩니다.~

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
17191
17162
17160
17158
17156
17155
17153
17151
17145
17135
17131
17125
17114
17107
17099
17096
17089
17088
17082
17079
17078
17077
17070
17068
17067
17063
17060
17048
17045
17044