DB Stored function

지식저장공간·2023년 5월 23일
0

DB

목록 보기
5/19
post-custom-banner

Stored function

사용자가 정의한 함수이며, DBMS에 저장되고 SQL과 함께 사용할 수 있다.

예제

예제1

delimeter $$ (쿼리의 마무리 부분을 $$로 변경한다.) - 변경하지 않을시 ; 세미콜론을 만나게되면 함수정의가 마무리된다.

Create Function 함수명()
Returns 반환타입
NO SQL
BEGIN
RETURN(함수구현);
END
$$
delimeter ; (원복)

insert into 테이블
values(함수명,...) // values(id_generator(),...)

예제2

delimeter $$

CREATE FUNCTION 함수명(변수명 자료형)
RETURNS 반환타입
READS SQL DATA
BEGIN
	DECLARE 변수명 자료형;
    select avg(salary) into avg_sal //평균연봉을 변수 avg_sal에 대입
    from employee
    where dept_id = d_id; // 파라미터로 넘어온 d_id
    RETURN avg_sal;
END

delimeter ;    

예제3

다른 역할

등록된 Function 파악하기

회사에서 사용하고 있는 Function이 있는경우 파악하는 방법

1. 등록되어있는 Function 명 파악하기

SHOW FUNCTION STATUS WHERE DB='데이터베이스명';

2. Function 구현 코드 파악하기

SHOW CREATE FUNCTION 함수명;

Stored Function은 언제써야할까

회사에서 사용하는 방법대로 사용한다. + 추가적 의견

Three-tier architecture

비즈니스 로직의 일부가 Data tier에 존재하는건 좋지 않다.
비즈니스 로직은 Logic tier에 존재하도록 구현한다.

toeic 점수에 따라 fail, pass를 정하고, 점수가 변경될 수 있기 때문에 비즈니스 로직이 포함됐다.

Logic Tier에서 점수파악 후 점수에 대한 로직을 구현하는게 좋다.

출처 : 쉬운코드 유튜브

profile
발전하는 개발자가 꿈입니다. 지식을 쌓고 지식을 활용해 목표 달성을 추구합니다.
post-custom-banner

0개의 댓글