728x90
반응형
프롤로그
Stored Procedure 스토어드 프로시저...이름 길다
스토어드 프로시저
스토어드 프로시저란 MySQL에서 제공해주는 프로그래밍 기능을 말한다. 즉 SQL 문을 하나로 묶어서 편리하게 사용하는 기능이다.
실무에서 SQL문(주로 SELECT)을 매번 하나하나 수행하기 보다는 스토어드 프로시저로 만들어 놓은 후에 스토어드 프로시저를 호출하는 방식을 많이 사용한다.
실습
매번 회원 테이블 "당탕이"의 정보와 제품 테이블의 " 냉장고"의 정보를 동시에 조회한다고 가정하자
shopdb인지 확인하자
매번 조회를 해야한다면
SELECT * FROM memberTBL WHERE memberName = "당탕이";
SELECT * FROM productTBL WHERE productNAME = "냉장고";
이렇게 항상 입력해야하는데 귀찮고 불편하고 틀릴 수도 있다;
그래서
DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
SELECT * FROM memberTBL WHERE memberName = "당탕이";
SELECT * FROM productTBL WHERE productName = "냉장고";
END //
DELIMITER ;
이렇게 입력을 해보자.
DELIMITER // 는 구분문자를 의미하여 기존의 세미콜론을 //로 대신한다는 의미이다.
// // 사이의 단락을 하나로 묶어주는 효과가 있다. 마지막에서 다시 ;로 바꿔줘야한다. 약간 매트랩에서 %% 와 같은 느낌인 듯 하다.
실행을 하고
CALL myProc();
를 입력하면
제대로 실행이 된다.
아마 함수같은 느낌이다.
지금까지 다 무엇을 만들때
CREATE 개체종류 개체이름 ~~ 형식을 사용했었다.
반대로 지울 때는
Drop Procedure myProc 딱 이렇게만 적으면 된다.
에필로그
음~ 좋다
728x90
반응형
'데이터베이스' 카테고리의 다른 글
[데이터베이스] 데이터베이스 백업 및 관리 #8 (0) | 2024.01.28 |
---|---|
[데이터베이스] 데이터베이스 개체의 활용 - 트리거 #7 (0) | 2024.01.20 |
[데이터베이스] 데이터베이스 개체의 활용 - 뷰 #5 (0) | 2024.01.20 |
[데이터베이스] 데이터베이스 개체의 활용 - 인덱스 #4 (0) | 2024.01.20 |
[데이터베이스] 데이터베이스 구축 절차 #3 (1) | 2024.01.17 |