스토어드 함수는 MySQL에서 제공하는 내장 함수를 제외한 나만의 함수를 만들 때 사용하는 기능이다.
스토어드 함수의 선언
스토어드 함수는 다음과 같이 선언하여 사용할 수 있다.
-- 스토어드 함수 선언
DELIMITER $$
CREATE FUNTION 스토어드_함수_이름(매개변수)
RETURNS 반환형식
BEGIN
-- 내장 함수 내용 작성
RETURN 반환값
END $$
DELIMITER ;
-- 스토어드 함수 호출
SELECT 스토어드_함수_이름();
앞서 다룬 스토어드 프로시저와 다른 점은 RETURNS를 이용해서 반환값을 설정할 수 있다는 것이다. 또한 매개변수가 들어갈 자리에는 무조건 IN 매개변수만 입력되며 IN을 작성하지 않는다. 또한 CALL로 호출하지 않고 SELECT로 호출한다.
아래에서 간단하게 두 수의 합을 계산하는 스토어드 함수를 선언 후 사용해본다.
DELIMITER $$
CREATE FUNCTION sumFunc(num1 INT, num2 INT)
RETURNS INT
BEGIN
RETURN num1 + num2;
END $$
DELIMITER ;
SELECT sumFunc(12, 13) AS '12와 13의 합';
스토어드 함수의 삭제
스토어드 함수의 삭제는 스토어드 프로시저나 테이블과 동일하게 DROP 키워드를 사용한다. 또한 스토어드 프로시저와 동일하게 매개변수를 입력하는 소괄호를 생략한다.
DROP FUNCTION 스토어드_함수_이름;
'CS > DB' 카테고리의 다른 글
[혼공SQL] 트리거 (2) | 2024.02.09 |
---|---|
[혼공SQL] 커서 (0) | 2024.02.07 |
[혼공SQL] 스토어드 프로시저 (0) | 2024.02.05 |
[혼공SQL] 혼공단 11기 - 5주차 미션 인증 (0) | 2024.02.04 |
[혼공SQL] 인덱스 사용 SQL (0) | 2024.02.01 |