sql

사용자 정의 함수

임이레 2025. 4. 28. 15:02

 

MySQL FUNCTION 의 기본 구조 

 

CREATE FUNCTION 'function name' ('parameter name' , 'datatype') 

     RETURNS 'datatype' (DETERMINISTIC) 

BEGIN 
    DECLARE 'variable name' 'datatype';

    SET ;

    RETURN (Query) / 'variable name' ; 

END 

 

  • 사용 방법 SELECT 'function name' (parameter) 

MySQL FUNCTION 예시 

CREATE FUNCTION CustomerLevel (credit DECIMAL(10,2)) 
RETURNS VARCHAR(20) DETERMINISTIC 
BEGIN 
	DECLARE Level VARCHAR(20); 
    IF credit > 50000 THEN 
    	SET Level = 'PLATINUM'
    ELSEIF (credit <= 5000 AND credit >= 10000) THEN 
    	SET Level = 'GOLD' ;
    ELSEIF credit < 10000 THEN 
    	SET Level = 'SILVER'; 
    END IF 
    -- return the customer level 
    RETURN (Level) ;
END

 

 

사용 방법 

SELECT customerName, 
	CustomerLevel(creditLimit) 
FROM 
	customers 
ORDER BY 
	customerName ;