SP에 대해

리진아·2023년 6월 26일
0

js 공부하기

목록 보기
7/10

SP : 저장 프로시저 , 여러 쿼리를 한 번에 실행시키는 것




한 웹 사이트 메인 페이지에 검색기능과 로그인기능이 있다.
메인 페이지에 한 번 접속했을 때 검색과 로그인에 관한 select 쿼리를 한 번에 실행시키고 싶어서 만든 것이 프로시저

단점 -> 재사용성이 좋지 않고 쓸데없이 많은 쿼리를 실행하게 함.
장점 -> 한 번의 요청으로 많은 쿼리를 실행할 수 있고 네트워크 시간 줄임.




아래와 같은 테이블이 있을 때

DELIMITER //

CREATE PROCEDURE `age`(IN age_limit INT)
BEGIN
    IF age_limit >= 20 THEN
        SELECT id, name, old
        FROM userdb.exam
        WHERE old > age_limit;
    ELSE
        SELECT id, name, old
        FROM userdb.exam
        WHERE old <= age_limit;
    END IF;
END //

DELIMITER ;

"age"라는 프로시저를 생성하였다. 파라미터는 age_limit
BEING - END 사이에 쿼리를 넣어준다. 두 개의 쿼리를 조건문IF ELSE로 구분지었다.

age_limit가 20이상일 때 old가 20보다 큰 수가 나오고
age_limit가 20미만일 때 old가 20보다 작은 수가 나온다.


CALL age(24);

위 sql을 실행시키면

24초과인 나이를 가진 필드 2개만 나오고


CALL age(19);

위 sql을 실행시키면

19이하인 나이를 가진 필드 하나만 출력된다.

profile
안녕?

0개의 댓글