Top Banner
데이터베이스 개론 Stored Procedure NHN NEXT 정호영 나눔고딕 및 나눔고딕코딩 글꼴을 설치해 주세요.
28

mysql stored procedure

Jul 13, 2015

Download

Engineering

Hoyoung Jung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: mysql stored procedure

데이터베이스개론

Stored Procedure

NHN NEXT 정호영

나눔고딕 및 나눔고딕코딩 글꼴을 설치해 주세요.

Page 2: mysql stored procedure

GOAL

스토어드프로시저를사용할수 있다.

스토어드프로시저문법 이해

스토어드프로시저실습

Page 3: mysql stored procedure

SQL의 기본명령은 선언적명령입니다.

데이터베이스에서절차적 명령을수행하기위해서는

스토어드프로그램을사용해야합니다.

Page 4: mysql stored procedure

스토어드프로그램의종류

스토어드함수

스토어드프로시져

트리거

이벤트핸들러

Page 5: mysql stored procedure

스토어드프로그램의장점

응용 프로그램의성능향상!

네트워크트래픽감소!

보안성향상!

개발 업무의구분

Page 6: mysql stored procedure

스토어드프로그램의단점

유지 보수가매우 매우어렵다!

GIT에서관리가쉽지 않다.

문제가생겨을 때 rollback은?

명령 자체의성능 감소?

Page 7: mysql stored procedure

스토어드프로시져를사용하는곳

게임분야 : 100% 사용

웹분야 : case by case 인데최근 많이 사용함

Page 8: mysql stored procedure

Stored Function vs Stored Procedure

함수는쿼리 내에 사용할수 있지만프로시져는불가능

함수는대신에 제약사항이많음

우리는프로시저만다룸

Page 9: mysql stored procedure

Hello World

Page 10: mysql stored procedure

기본변수사용하기

기본 변수선언

기본 변수는프로시져내에서만유효합니다.

DELCARE 변수명 타입 [DEFALUT 기본값]

Page 11: mysql stored procedure

세션변수선언및사용

세션 변수는말 그대로세션 내에서계속 유효합니다.

SET @변수명 = 값;

Page 12: mysql stored procedure

기본변수에값넣기

SET 사용

Page 13: mysql stored procedure

SELECT INTO사용

쿼리의결과를 변수에넣을 수 있음

쿼리의결과값이스칼라값일경우만가능

Page 14: mysql stored procedure

결과값을테이블에넣기

Page 15: mysql stored procedure
Page 16: mysql stored procedure

매개변수사용하기

IN parameter : 입력에사용

Page 17: mysql stored procedure
Page 18: mysql stored procedure

OUT매개변수사용하기

Page 19: mysql stored procedure

IF 사용하기

IF도 사용이 가능합니다.

END IF; 로끝나야 한다는점을 주의해야합니다.

Page 20: mysql stored procedure
Page 21: mysql stored procedure
Page 22: mysql stored procedure

WHILE 사용하기

WHILE 도 됩니다.

역시 END WHILE; 을 조심하세요.

Page 23: mysql stored procedure

기타

case (switch case 와 같은 용도)

REPEAT ~ UNTIL (do while과같은용도)

Page 24: mysql stored procedure

실습1

이렇게만들어 보세요^^

Page 25: mysql stored procedure

실습2

1) proc_db.sql 파일을 실행

2) NUM_TRADE 컬럼을추가

3) NUM_TRADE 값 업데이트

Page 26: mysql stored procedure

테이블의특정컬럼을이용해서값업데이트하기

UPDATE USER INNER JOIN(SELECT SELLER, COUNT(*) AS USER_TRADE

FROM TRADE

GROUP BY SELLER) T ON USER.ID = T.SELLER

SET USER.NUM_TRADE = USER_TRADE;

Page 27: mysql stored procedure

물품 등록 PROCEDURE 만들기

등록과동시에 USER와 MARKET의 NUM_TRADE 값 증가

Page 28: mysql stored procedure

THANK YOU!!!