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

프로시저 기본편

· 2년 전 · 710

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

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

 

도구는 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;

 

 

잘 등록됩니다.~

 

 

댓글 작성

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

로그인하기

게시글 목록

번호 제목
17927
17926
17922
17921
17915
17910
17907
17892
17888
17879
17878
17874
17873
17872
17871
17870
17869
17868
17866
17865
17864
17863
17862
17859
17856
17845
17835
17834
17826
17823