티스토리 뷰

서론

SQL에서는 같은 함수라도 Function과 procedure가 분리되어 있습니다. 이번 포스팅에서는 SQL로 function를 만드는 방법을 소개합니다.

본론

function은 일반적으로 값을 반환해야하나, 아주 일부는 반환하지 않을 수 있습니다. 그때는 RETUNRS의 타입을 VOID로 지정하면 됩니다.

기본 형태

CREATE FUNCTION function_name [ (parameter datatype [, parameter datatype]) ]
RETURNS return_datatype

BEGIN

   declaration_section

   executable_section

END;

위의 코드에서도 보이듯 C언어처럼 선언부와 실행부가 나뉘어져 있는 모습을 확인할 수 있습니다.

선언부

선언

변수의 선언은 DECLARE예약어를 사용합니다.
아래 형식처럼 사용할 변수를 선언합니다.

DECLARE 변수이름 변수타입

BEGIN
    DECLARE income INT;
      ...

END;

변수이름에 대한 규칙은 관련 사이트에서 확인할 수 있습니다. 간단하게 살펴본 바에 따르면 타입표기 후 스네이크표기법을 사용한 듯한 느낌입니다.

대입

변수를 선언했으면 값을 넣어야합니다. 이때는 SET 예약어를 사용합니다.
SQL에서는 =은 비교기호이기 때문에 SET을 사용하여 값을 대입합니다.

SET income = 0;

SET income = income + 5;

실행부

계산부분을 작성하면 됩니다.
중요한 점은 값을 반환하는 function이라면 RETURN 예약어를 이용해 값을 반환해 주어야 합니다.

#어떤 계산들
RETURN (어떤 값);

결론

function은 procedure과 다르게 계산에 목적이 있습니다. 둘의 차이를 잘 설명하는 포스팅을 작성해야 겠습니다.

'개발자 > 데이터베이스(DB)' 카테고리의 다른 글

[SQL] 순위를 지정하는 RANK 함수  (0) 2024.02.07
[SQL] LEFT JOIN과 ON  (0) 2024.02.06
[SQL] GROUP BY와 HAVING  (0) 2024.02.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함