mysql stored procedure

Post on 13-Jul-2015

445 Views

Category:

Engineering

9 Downloads

Preview:

Click to see full reader

TRANSCRIPT

데이터베이스개론

Stored Procedure

NHN NEXT 정호영

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

GOAL

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

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

스토어드프로시저실습

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

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

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

스토어드프로그램의종류

스토어드함수

스토어드프로시져

트리거

이벤트핸들러

스토어드프로그램의장점

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

네트워크트래픽감소!

보안성향상!

개발 업무의구분

스토어드프로그램의단점

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

GIT에서관리가쉽지 않다.

문제가생겨을 때 rollback은?

명령 자체의성능 감소?

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

게임분야 : 100% 사용

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

Stored Function vs Stored Procedure

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

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

우리는프로시저만다룸

Hello World

기본변수사용하기

기본 변수선언

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

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

세션변수선언및사용

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

SET @변수명 = 값;

기본변수에값넣기

SET 사용

SELECT INTO사용

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

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

결과값을테이블에넣기

매개변수사용하기

IN parameter : 입력에사용

OUT매개변수사용하기

IF 사용하기

IF도 사용이 가능합니다.

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

WHILE 사용하기

WHILE 도 됩니다.

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

기타

case (switch case 와 같은 용도)

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

실습1

이렇게만들어 보세요^^

실습2

1) proc_db.sql 파일을 실행

2) NUM_TRADE 컬럼을추가

3) NUM_TRADE 값 업데이트

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

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;

물품 등록 PROCEDURE 만들기

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

THANK YOU!!!

top related