Stored Procedure
Mysql 서버단에 저장되는 SQL 쿼리들로 함수처럼 인자를 넘길 수 있다. select문과 동일한 레코드들의 집합이 나온다. if, case, loop를 통하여 프로그래밍이 가능하다. 하지만 디버깅이 어렵고 서버단의 부하를 증가시킨다.
일반적인 Method 처럼 파라미터를 입력 받아서 동작할 수 있다. CREATE Procedure 이름(파라미터)로 사용 방식을 지정한다. 설정하기 위해서는 추가적으로 block을 형성해주어야한다.
실행법 : CALL 프로시저이름(파라미터);
Stored Function
값을 하나 리턴해주는 서버쪽 함수로 Method를 rngusgksms rjtcjfja Stored Procedure과 비슷하지만 Stored Function은 SQL문 안에서 사용이 가능하다. ex) select function이름(파라미터) from table;
CREATE FUNCTION 이름(파라미터)로 사용 방식을 지정한다. 설정하기 위해서는 추가적으로 block을 형성해주어야한다.
Trigger
CREATE TRIGGER 이름 전|후선택 INSERT|DELETE|UPDATE 실행할 동작; 으로 생성을 한다. Treigger를 원하는 조건을 주어 생성하면INSERT/DELETE/UPDATE 실행 전후에 조건에 맞는 동작을 자동으로 실행하는 기능을 한다.
Treigger를 제외하고는 처음으로 배우는 내용이여서 어렵게 느껴졌다. DB에서 프로그래밍을 할 수 있는 것이 DB 서버에서 Method 형식으로 전처리 후처리 동작을 수행하여 데이터를 다룰 때 서버와 DB 서버에 부하를 분산하여서 성능적으로 이점을 만들어 줄수도 있지 않을까라는 생각이 들었다. 3가지의 기능에 대해서는 자세하게 따로 정리가 필요할 것 같다.
'TIL' 카테고리의 다른 글
[TIL]Day 8 (0) | 2021.08.18 |
---|---|
[TIL]Day 7 (Spring) (0) | 2021.08.17 |
[TIL]Day 6 (Transaction) (0) | 2021.08.13 |
[TIL]Day 5 (0) | 2021.08.12 |
[TIL]Day 4 (Docker, TDD) (0) | 2021.08.11 |