Stored Function

최찬호·2023년 3월 30일
0

Stored Function

  • DBMS에 저장되고 사용하는 사용자 정의 함수
  • SQL의 select, insert, update, delete statement에 사용가능
  • IF, ELSEIF, ELSE, END, CASE 등등 여러 작업이 가능
#S1 DECLARE 를 통한 변수 선언
delimiter $$ #구분자 변경
CREATE FUNCTION dept_avg_salary(d_id int)
RETURNS int
READS SQL DATA #ex) NO SQL
BEGIN #함수바디 시작
	DECLARE avg_sal int;
    SELECT AVG(salary) into avg_sal #into 키워드를 통해 변수에 값 대입
    	FROM employee
        WHERE dept_id = d_id;
    RETURN avg_sal;
END #함수종료
$$
delimiter ;

#S2 DECLARE를 사용하지 않는 방식
delimiter $$ #구분자 변경
CREATE FUNCTION dept_avg_salary(d_id int)
RETURNS int
READS SQL DATA #ex) NO SQL
BEGIN #함수바디 시작
    SELECT AVG(salary) into @avg_sal #into 키워드를 통해 변수에 값 대입
    	FROM employee
        WHERE dept_id = d_id;
    RETURN @avg_sal;
END #함수종료
$$
delimiter ;

고려사항

  • 3-Teir architecture시 DATA 영역에 비즈니스 로직을 작성할 것인 가
  • util 함수로 쓰기에는 괜찮을 것 같다
profile
체득하고 이해하자

0개의 댓글