CS/DB

[혼공SQL] 스토어드 함수

F12:) 2024. 2. 7. 19:26

스토어드 함수는 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