PostgreSQL SP
SP(Stored Procedure)란? SQL 명령문들을 마치 하나의 함수처럼 사용하기 위해 DB 내부에 저장된 쿼리의 집합이다.
SP 장단점
장점
1) 스키마 변화의 관리포인트가 한 곳이다.
2) 서비스 함수 혹은 어떠한 로직을 짤 때, DB에 한번만 접근하면 된다. 네트워크 비용 절감.
3) 로직이 변경하는 경우, 서버 배포 없이 SP만 수정하면 된다.
단점
1) DB 서버 부하가 커진다. 웹 서버보다 비용이 상대적으로 비싸다.
2) 디버깅 하기 어렵다.
3) 전문 DBA가 필요 할 수 있다. 프로젝트 규모가 커지면 DBA는 필요하다.
예제
현재 진행하고 있는 프로젝트에서 테스트용 SP 입니다. 카운팅 관련 비즈니스 로직에서만 사용해보려고 합니다.
-- DROP PROCEDURE public.proc_chatting_vote_option_cal_iu(int4, int4);
CREATE OR REPLACE PROCEDURE public.proc_chatting_vote_option_cal_iu(IN se integer, IN num integer)
LANGUAGE plpgsql
AS $procedure$
declare greeting text;
declare befor_num int;
begin
-- 투표전 결과값 셋팅
select option_cn
into befor_num
from chatting.chatting_room_vote_option
where chatting_room_vote_option_se=se;
-- 투표값 업데이트
update chatting.chatting_room_vote_option
set option_cn=befor_num+num
where chatting_room_vote_option_se=2;
end;
$procedure$
;
* PL/pgSQL(Procedural Language/PostgreSQL)
- PostgreSQL에서 사용되는 프로그래밍 언어로 ‘SQL문을 확장’하여 ‘저장 프로시저’ 및 ‘함수’ 작성을 가능하게 합니다.
- 다른 프로그래밍 언어와 유사한 구문을 사용하여 데이터베이스를 조작할 수 있습니다.
'프로그래밍언어 > DB, SQL' 카테고리의 다른 글
SQL 기본 튜닝 규칙 - PostgreSQL (0) | 2024.07.08 |
---|---|
디비버 많이 쓰는 단축키 (0) | 2024.05.30 |
무료 DB관리툴 디비버 (0) | 2024.04.30 |
DynamoDB의 PartiQL Select (0) | 2022.05.11 |
MariaDB 쿼리 계획(실행 계획) (0) | 2022.01.27 |
댓글