저장 프로시저(Stored Procedure)란?
일련의 SQL문장을 선언해서 MySQL에 저장하고, 해당 SQL문을 함수처럼 사용하는것으로 만들어 두기만 하면 함수처럼 호출하여 편하게 사용할 수 있다.
- 장점
- 하나의 프로시저로 여러 SQL문의 실행이 가능하다. (모듈화)
- 호스팅 언어와 SQL문이 분리되어 보수가 용이하다.
- 네트워크 소요 시간을 줄일 수 있다. (구문 분석 및 코드 변환을 미리 진행하여 처리 시간이 단축됨)
- 단점
- 재사용성이 낮다. (DB 버전 별 구문 규칙과 호환성이 다름)
- 처리 성능이 좋지않다. (MySQL 스토어드의 프로그램 처리 성능이 낮다)
실습
1. 테이블 생성
2. 프로시저 생성
delimiter $$
create procedure 이름 (매개변수)
begin
# SQL문
end $$
delimiter ;
💡 프로시저 내부에 세미콜론이 많을 경우, SQL문이 나눠져 서버로 보내지게 되어 프로시저가 어디까지인지 모른다.
따라서 DELIMITER $$를 선언하고, 프로시저 작성이 끝날 경우 END $$로 프로시저의 끝을 알려야 한다. END $$로 끝나는 부분을 표시하고, 마지막에 DELIMITER를 세미콜론으로 바꿔준다.
3. 프로시저 호출
call 프로시저이름 (매개변수);
4. 입력된 데이터 select 화면
'Etc' 카테고리의 다른 글
Gitlab + Docker + Jenkins 이용한 스프링부트, 리액트 프로젝트 CI/CD (4) | 2024.02.25 |
---|---|
Docker를 이용하여 Spring Boot 배포해보기 (2) | 2023.12.30 |
[AWS] EC2 스프링 부트 배포 중 트러블슈팅 기록 (0) | 2023.06.26 |
ㅠㅠㅠㅠㅠㅠ (0) | 2023.06.12 |
[Git] gitignore 적용 및 커밋 기록 제거 (0) | 2023.05.31 |