간단하게 실무에 사용 할 수 있게 요약만 적었습니다.
1) 기존 DB 에서 원하는 값만 따로 Table 생성 및 자료 구겨넣기
CREATE TABLE member2 TYPE=innodb AS
SELECT * FROM member WHERE joindate BETWEEN '1999-01-01' AND '2006-12-31';
2) PROCEDURE
2-1) Mysql 에서 PROCEDURE 부르는 방법 : call 함수명('인자')
2-2) 사용법 샘플
CREATE PROCEDURE bengi_exam1()
BEGIN
-- 변수 선언
DECLARE bgtotal INTEGER;
-- 회원테이블에서 벤지라는 글자가 들어간 사람의 총수을 구해서
-- bgtotal 변수에 저장
SELECT COUNT(upk) INTO bgtotal FROM member
WHERE uname LIKE '%벤지%';
-- 총수 RETURN
SELECT bgtotal;
END
3) FUNCTION
3-1) Mysql 에서 FUNCTION 부르는 방법 : select function명('인자')
3-2) 사용법 샘플
-- datetime 형의 bdate 인자에 계산을 원하는 값 전달
CREATE FUNCTION userage ( bdate datetime ) returns int(11)
BEGIN
-- 변수 선언
DECLARE var_age INT;
-- 나이를 구한다
SET var_age = date_format( now(),'%Y' ) - date_format( bdate,'%Y' );
-- 값을 RETURN 한다
RETURN(var_age);
END;
4) PROCEDURE 에서 FUNCTION CALL
4-1) 사용법 샘플
CREATE PROCEDURE bengi_exam2()
BEGIN
-- 변수 선언
DECLARE bgage INTEGER;
DECLARE membdate DATETIME;
-- 회원테이블에서 bengi라는 글자가 들어간 사람의 생년월일 구한다
SELECT bdate INTO membdate FROM member
WHERE uname = 'bengi';
-- Function 에서 결과값을 받아 저장한다 (3-1 에 정의된것 사용)
set bgage = userage(membdate);
-- 총수 RETURN
SELECT bgtotal;
END |