Database/SQL Server

MS SQL-사용자 지정 함수(스칼라, 인라인 테이블, 다중 테이블)

청렴결백한 만능 재주꾼 2020. 12. 4. 03:44
반응형

사용자 지정 함수의 종류(User Defined Functions Type)

 1. 스칼라 사용자 지정 함수(Scalar User Defined functions)

스칼라 값만 리턴하는 함수

 

2. 인라인 테이블 반환 사용자 지정 함수(Inline Table Valued Functions)

테이블을 리턴하는 함수

비긴(Begin)과 엔드(END)를 쓰지 않음

예)

CREATE FUNCTION Fn_EmployeeByGender(@Gender nvarchar(10))
RETURNS TABLE
AS
RETURN (Select Id, Name, Gender
From tableEmployees
where Gender = @Gender)

 

3. 다중 테이블 반환 사용자 지정 함수(Multistatement Table Valued Functions)

다중 테이블을 반환함. 테이블의 구조를 지정해줘야함. 인라인 테이블과 다르게 나온 결과물 업데이트가 불가함.

예)

Create Function fn_MSTVF_GetEmployees()        ---파라미터 없음
Returns @Table Table (Id int, Name nvarchar(20), DOB Date)
as
Begin
      Insert into @Table
      Select Id, Name, Cast(DateOfBirth as Date) From tableEmployees
      Return
End

 

반응형