SQL Server 가 결과 집합 을 되 돌려 주 는 몇 가지 방식

1755 단어 sqlserver
최근 에 SQL Server 의 몇 가지 결과 집합 을 되 돌려 주 는 방법 을 사 용 했 습 니 다.여기 서 다음 과 같이 정리 합 니 다.  AdventureWorks 2008 예제 데이터베이스)
1.Table Function 으로 결과 집합 되 돌리 기
-- 1. table function
use AdventureWorks2008
go

if exists (
       select 1
       from   sys.objects
              where [type] in (N'TF' ,N'IF' ,N'FN')
       and name = 'fn_getPerson'
   )
    drop function dbo.fn_getPerson
go

create function dbo.fn_getPerson
(
    @EntityID int
)
returns @result table (EntityID int ,PersonType varchar(10) ,FirstName varchar(50) ,LastName varchar(50))
as
begin
    insert into @result
      (
        EntityID
       ,PersonType
       ,FirstName
       ,LastName
      )
    select BusinessEntityID
          ,PersonType
          ,FirstName
          ,LastName
    from   Person.Person
           where BusinessEntityID = @EntityID

    return  -- return must be last sql
end
go


print('dbo.fn_getPerson has been created.')

-- select * from dbo.fn_getPerson(1)

2.인 라인 함수 로 결과 집합 되 돌리 기
-- 3. inline function
use AdventureWorks2008
go

if exists (
       select 1
       from   sys.objects
              where [type] in (N'TF' ,N'IF' ,N'FN')
       and name = 'fn_getPerson2'
   )
    drop function dbo.fn_getPerson2
go

create function dbo.fn_getPerson2
(
    @EntityID int
)
returns table
as
    return
    select BusinessEntityID
          ,PersonType
          ,FirstName
          ,LastName
    from   Person.Person
           where BusinessEntityID = @EntityID
go

print('dbo.fn_getPerson2 has been created.')

-- select * from dbo.fn_getPerson2(1)

3.저장 프로시저 로 결과 집합 되 돌리 기
주:SQL Server 는 마지막 검색 결과 집합 만 되 돌려 줍 니 다.

좋은 웹페이지 즐겨찾기