프로시저 기본편 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

프로시저 기본편 정보

MySQL 프로시저 기본편

본문

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

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

 

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

 

 

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

있네요.

3555059405_1690090936.4774.png

 

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

크면 개수 값을 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개를 지정해 줍니다.

 

3555059405_1690091071.7954.png

 

 

 

다음은 테스트 방법 및 결과

CALL TEST_PROC1( 3 , @RESULT);

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

SELECT * FROM g5_test_proc1;

 

 

잘 등록됩니다.~

 

3555059405_1690091182.9994.png

 

추천
0

댓글 0개

전체 470
개발자팁 내용 검색 MySQL에서

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT