하

프로시저 기본편

· 2023-07-23 (일) 14:53:43 · 1837

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

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

 

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

 

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

개발자팁

5,403건

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

+
분류 제목 글쓴이 날짜 조회
node.js 23-08-13 조회 2,173
정규표현식 23-08-12 조회 2,056
node.js 23-08-11 조회 2,195
PHP 23-08-10 조회 2,156
node.js 23-08-09 조회 2,369
PHP 23-08-08 조회 2,451
node.js 23-08-07 조회 1,952
node.js 23-08-06 조회 2,245
PHP 23-08-05 조회 3,532
PHP 23-08-04 조회 2,591
JavaScript 23-08-03 조회 1,667
node.js 23-08-02 조회 1,559
node.js 23-08-01 조회 2,009
MySQL 23-07-31 조회 1,871
MySQL 23-07-30 조회 1,454
JavaScript 23-07-29 조회 1,879
웹서버 23-07-29 조회 5,208
PHP 23-07-28 조회 2,238
PHP 23-07-26 조회 2,396
기타 23-07-25 조회 1,969
jQuery 23-07-25 조회 3,131
23-07-25 조회 1,583
23-07-21 조회 1,968
23-07-21 조회 1,902
PHP 23-07-24 조회 2,128
MySQL 23-07-23 조회 1,838
PHP 23-07-23 조회 2,020
PHP 23-07-22 조회 3,180
PHP 23-07-22 조회 1,426
node.js 23-07-21 조회 5,277