SQL/sql 문법(mysql, mariaDB)

mariaDB) 사용자 정의 함수(User-Defined Function) 만들기

읽히는 블로그 2024. 5. 21. 20:24

▤ 목차

    ✔ 사용자 정의 함수 만들기

    DBMS에서 제공하는 내장함수가 아니고 사용자가 직접 정의하는 함수를 말한다.

    절차형 SQL을 활용하여 일련의 SQL 처리를 수행하고 수행 결과를 단일 값으로 반환한다.

     

    단일 값을 제공하는 특별한 형태로 저장된 일종의 프로그램으로 공통적으로 적용할 기능이나 비즈니스를 캡슐화 하기 위해서 Function을 사용할 수 있다.

    ⌨ 형식

    delimiter //
    CREATE OR REPLACE FUNCTION fu() RETURNS DOUBLE
    BEGIN
    
    END;
    //
    delimiter ;

    기본적인 개념 및 사용법, 문법 등으 프로시저와 동일하다.

    다만 반환값이 존재하는 것이 큰 차이점이 있다.

    💻 코드로 보기

    # BMI 계산 함수 만들기

    > 표준체중(bmi값 22기준) = 신장(CM) * 신장(CM) * 22 / 10000

    delimiter $$
    CREATE OR REPLACE FUNCTION fu1(height INT) RETURNS DOUBLE
    BEGIN
    	RETURN height * height *22 / 10000;
    END;
    $$
    delimiter ;
    SELECT fu1(175);

    # 각 직원의 부서명 반환하기

    delimiter //
    CREATE OR REPLACE FUNCTION fu4(NO int) RETURNS VARCHAR(10) CHARSET UTF8
    BEGIN
    	DECLARE bname VARCHAR(10) CHARSET UTF8;
    	SELECT buser_name INTO bname FROM buser
    	WHERE buser_no = (SELECT buser_num FROM jikwon WHERE jikwon_no=no);
    	RETURN bname;
    END;
    //
    delimiter ;
    
    SELECT fu4(3);

     

     

     

    😊참고 사이트

    https://docs.snowflake.com/ko/developer-guide/udf/udf-overview

     

    사용자 정의 함수 개요 | Snowflake Documentation

    UDF(사용자 정의 함수)를 작성하여 Snowflake에서 기본적으로 제공되는 시스템 정의 함수를 통해 할 수 없는 작업을 수행하도록 시스템을 확장할 수 있습니다. UDF를 생성하면 여러 번 재사용할 수

    docs.snowflake.com

    https://benggri.tistory.com/77

     

    [DB] 사용자 정의함수(User-Defined Function)

    사용자 정의함수(User-Defined Function) 절차형 SQL을 활용하여 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL 입니다. DBMS에서 제공되는 공통적 함수 이외에 사용자

    benggri.tistory.com