본문 바로가기

wow db Log/ms-sql

[MSSQL] 함수에서 인라인뷰 리턴

사용자 정의 함수의 형태로 작성한다.

  * RETURN  TABLE  이라고만 적는다.  테이블의 정의가 없다.

  * BEGIN / END  가 없다.   (넣게 되면 에러가 발생)

  * RETURN 에서 테이블에  들어갈 내용을 뷰와 같은 방법으로 적어준다.

use pubs
GO
CREATE FUNCTION SalesByStore (@storeid varchar(30))
RETURNS TABLE
AS
RETURN (SELECT title, qty
              FROM sales s, titles t
             WHERE s.stor_id = @storeid  AND  t.title_id = s.title_id)

 -인라인 함수는 인덱스된 뷰와 함께 사용할 때 성능을 향상 시킬수 있다. 인덱스된 뷰에서 인라인 함수를 사용하여 필터링을 할수 있기 때문이다.