프로시저 기본편

· 2년 전 · 755

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

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

 

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

 

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

개발자팁

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

+
분류 제목 글쓴이 날짜 조회
node.js 2년 전 조회 710
node.js 2년 전 조회 825
MySQL 2년 전 조회 872
MySQL 2년 전 조회 818
JavaScript 2년 전 조회 1,044
웹서버 2년 전 조회 4,193
PHP 2년 전 조회 977
PHP 2년 전 조회 1,453
기타 2년 전 조회 806
jQuery 2년 전 조회 2,141
2년 전 조회 633
2년 전 조회 1,234
2년 전 조회 1,106
PHP 2년 전 조회 1,078
MySQL 2년 전 조회 756
PHP 2년 전 조회 870
PHP 2년 전 조회 1,935
PHP 2년 전 조회 624
node.js 2년 전 조회 4,207
PHP 2년 전 조회 1,393
기타 2년 전 조회 601
PHP 2년 전 조회 690
2년 전 조회 950
2년 전 조회 918
2년 전 조회 576
2년 전 조회 1,089
2년 전 조회 1,002
2년 전 조회 1,135
2년 전 조회 763
PHP 2년 전 조회 694
🐛 버그신고