[MySQL] 스토어 프로시져(Stored Procedure) 사용 방법 (SQL 함수 코딩)
MySQL DBMS가 없다면 아래를 통해 설치한다.
https://ansan-survivor.tistory.com/1130
[MySQL] MySQL windows 10에 설치하기 환경 세팅하기, 오라클 DBMS 설치하기
기본 요구사항 Windows 10 64 bit. (win7은 MySQL 8.0.3 rc버전) (32bit는 MySQL 5.7.x 버전) 1. 아래 공식 다운로드 페이지에서 다운로드 https://downloads.mysql.com/archives/community/?version=8.0.17 MySQL..
ansan-survivor.tistory.com
아래 View로 만든 테이블 정보를 바탕으로 테스트.
https://ansan-survivor.tistory.com/1153
[MySQL] 뷰(view)란? 뷰 생성하기
MySQL에서 View(뷰)란? 가상의 테이블을 만드는 것. (view는 table에 링크가 걸려있는 것 뿐. 바로가기 아이콘 정도?) 실제 table처럼 행과 열을 갖고 있지만 그렇다고 데이터를 저장하고 있지 않다. 보안
ansan-survivor.tistory.com
Procedure(프로시져)는 SQL 명령어로 실행시킨 일련의 명령 집합을 하나로 묶어 함수화 시킨다고 보면 된다.
아래 직원이 View 테이블에서 Computer와 TV의 가격정보를 빼온다고 본다.
아래 쿼리문을 돌리면 두개의 결과값이 나온다.
그런데 이 찾는 쿼리가 만약 2개가 아니고 100만개라면? 자주 써야 한다면? 완전 노가다가 될 것이다.
한번에 하나 만들어놓고 이후에는 계속 가져다 쓰는게 유리하다.
그래서 프로시져를 만든다.
<프로시져 만들기>
프로시져는 앞과 뒤에 아래와 같은 프레임을 만든다.
DELIMITER //
CREATE PROCEDURE 프로시져이름()
BEGIN
~~~
~~~
~~~
...
END
// DELIMITER ;
1. 프로시져 생성
DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
SELECT * FROM user_viewTable WHERE type = 'Computer';
SELECT * FROM user_viewTable WHERE type = 'TV';
END
// DELIMITER ;
2. 생성한 프로시져 콜하기
이제 myProc()의 begin과 end 사이에 구문이 함수 호출만으로 실행된다.
CALL myProc() ;
(결과) myProc()는 Stored Procedures에 저장되었다. CALL로 호출해서 사용 가능하다.