메뉴 건너뛰기

2016.12.23 18:22

Create Procedure

조회 수 6012 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

MySQL 버전 : mysql-5.0.37

작성자 : 얼룩푸우(budget74@nate.com)

MySQL에서 Procedure를 만들어보자.

 

DELIMITER $$

CREATE PROCEDURE `owner`.`procedure_name` (IN|OUT|INOUT param_name TYPE )
BEGIN
         처리문

END$$

DELIMITER ;

 

owner 은 'user name'

procedure_name 은 말 그대로 '프로시져 이름'

IN|OUT|INOUT 은 파라미터를 어떤 용도로 사용할 것인지 정의한다.

              - IN 은 프로시져로 입력

              - OUT 은 출력

              - INOUT 은 입력하고 출력

param_name 은 파라미터 이름

TYPE 는 변수타입

 

ex)

아이디를 입력해서 회원의 이름을 가져오는 프로시져를 만들어 보자.

 

DELIMITER $$

CREATE PROCEDURE `tester`.`GET_USER_NAME` (IN userid VARCHAR(2), OUT userName VARCHAR(16) )
BEGIN
         SELECT user_name INTO userName FROM member WHERE user_id = userid;

END$$

DELIMITER ;

 

이제 사용해 보자

>CALL GET_USER_NAME('budget74', @userName);
>SELECT @userName;
결과 '얼룩푸우'

 

Procedure 내에서는 참조자(@)는 쓰지 않는다. 그러나 OUT 변수로 사용할때는 사용해준다.

또한 처리문에 ';' 는 반드시 찍어야 한다. 안 그럼 에러난다.


List of Articles
번호 제목 날짜 조회 수
126 MySQL INSERT 성능 향상 2016.12.22 11523
125 MySql 의 Trigger(트리거) 로 정보 업데이트 file 2016.08.30 10153
124 특정 COLUMN을 제외하고 SELECT/INSERT하는 방법 2017.11.16 8874
123 MySql 윈도우에서 DB dump 백업과 복구하기 file 2016.08.30 8475
122 다양한 단위의 시간차 구하기 2015.12.19 8360
121 MySQL 최적화 방법 설명 2014.02.27 8022
120 MySQL 대용량 DBMS 개선 사례 file 2017.12.28 8013
119 테이블 체크, 백업 2016.12.23 7478
118 MySQL/MariaDB 백업 & 복원 - mysqldump 2015.08.07 7384
117 실수로 삭제한 mysql DB 복구방법 2017.04.12 7316
116 MySql 에서 외래키(FK) 설정하는 방법과 Toad 에서 확인하기 file 2016.08.30 7156
115 MySQL Replication 설정(Master-Slave, Maste 2014.02.27 6782
114 DB의 모든 테이블을 삭제하는 쿼리 2016.08.29 6767
113 컬럼에 포함된 특정문자열을 검색해서 그 문자로 또 다른 테이블검색하기 2016.08.30 6606
112 MySQL 에서 NULL 값 처리 file 2016.08.30 6425
111 MySql 문자열 합치기 2014.02.27 6254
110 dump 를 db에 올릴때 인코딩 문제 2016.12.23 6170
109 필드 변경, 추가, 삭제 2016.12.23 6085
108 MySQL 쿼리 결과 값 세로로 보기 2017.04.12 6055
107 SQL 고급 file 2017.12.22 6041
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved