IT/MSSQL

MSSQL 함수 FUNCTION 서식 및 생성 예제

!? 2024. 2. 17.

 

MSSQL에서 함수는 재사용 가능한 코드 블록으로, 특정 작업을 수행하기 위해 사용됩니다. MSSQL에서 함수를 생성하는 단계는 다음과 같습니다.


1. 함수 생성을 위해 CREATE FUNCTION 문을 사용합니다.
2. 함수의 이름을 지정하고, 매개 변수를 정의합니다.
3. RETURNS 문을 사용하여 함수가 반환하는 데이터 유형을 지정합니다.
4. BEGIN과 END 사이에 함수의 본문을 작성합니다.
5. 함수 내에서 필요한 작업을 수행하고, 결과를 반환합니다.

 

 

함수 (FUNCTION) 생성 서식

 

 

 

 

CREATE FUNCTION [스키마].[함수이름]
(
    @매개변수1 데이터유형,
    @매개변수2 데이터유형,
    ...
)
RETURNS 반환데이터유형
AS
BEGIN
    -- 함수 본문
    -- 필요한 작업 수행
    -- 결과 반환
END

 

여기서 각 부분의 역할을 설명하겠습니다.

 

  • [스키마]: 함수를 생성할 스키마 이름을 지정합니다. 스키마를 지정하지 않으면 기본 스키마에 함수가 생성됩니다.
  • [함수이름]: 생성할 함수의 이름을 지정합니다.
  • @매개변수1, @매개변수2, ...: 함수에 전달할 매개 변수를 정의합니다. 각 매개 변수는 이름과 데이터 유형을 가지며 쉼표로 구분합니다.
  • 반환데이터유형: 함수가 반환하는 데이터의 유형을 지정합니다.
  • AS: 함수 본문을 시작하는 키워드입니다.
  • BEGIN과 END: 함수의 본문을 감싸는 블록으로, 여기에 필요한 작업을 작성합니다.
  • -- 함수 본문: 주석으로 함수 내에서 수행되는 작업에 대한 설명을 추가할 수 있습니다.
  • -- 결과 반환: RETURN 키워드를 사용하여 함수가 반환할 값을 지정합니다.

 

 

함수 (FUNCTION) 생성 예제

 

이 서식을 기반으로 실제 함수를 생성하고 사용할 수 있습니다. 예를 들어, 아래와 같이 함수를 생성할 수 있습니다.

 

-- 함수 생성 예제
CREATE FUNCTION dbo.GetTotalSales
(
    @StartDate DATE,
    @EndDate DATE
)
RETURNS MONEY
AS
BEGIN
    DECLARE @TotalSales MONEY

    SELECT @TotalSales = SUM(SalesAmount)
    FROM Sales
    WHERE SaleDate BETWEEN @StartDate AND @EndDate

    RETURN @TotalSales
END

 

위의 예제는 'GetTotalSales'라는 함수를 생성하는 방법을 보여줍니다. 이 함수는 @StartDate와 @EndDate라는 두 개의 매개 변수를 받고, 날짜 범위 내의 Sales 테이블에서 SalesAmount의 합계를 계산하여 반환합니다. 반환되는 데이터 유형은 MONEY입니다.

 

 

 

 

함수 (FUNCTION) 사용 예제

 

함수를 생성한 후에는 다음과 같이 호출하여 사용할 수 있습니다.

 

-- 함수 호출
DECLARE @StartDate DATE = '2022-01-01'
DECLARE @EndDate DATE = '2022-12-31'

SELECT dbo.GetTotalSales(@StartDate, @EndDate) AS TotalSales

 

위의 예제에서는 'GetTotalSales' 함수를 호출하여 @StartDate와 @EndDate 값을 전달하고, 반환된 총매출액을 TotalSales로 출력합니다.

이렇게 MSSQL에서 함수를 생성하고 사용할 수 있습니다. 함수는 코드의 재사용성을 높이고, 복잡한 작업을 단순화하는 데 유용합니다. 함수를 사용하여 데이터를 처리하고 원하는 결과를 얻을 수 있습니다.

 

댓글