SQL – Inline Table-valued Function

  • 1966
  • 0
  • SQL
  • 2015-05-22

摘要:SQL – Inline Table-valued Function

SQL – Inline Table-valued Function

近來因系統有些資料必須經由SQL運算而產生最終結果,牽連到的頁面太多,所以建立了一個共用的Function供系統統一使用,雖然是個簡單的步驟,但是礙於自己給自己每個月都要有一篇文章貢獻,勉強將此篇灌水進來(我也想寫.Net,工作很久沒用到了)。

 

當我們在New一個Function會有三種選項

由於我的需求為撈回一個運算後的結果,因此我選第一個(User-defined functions that return a table data type)。

如果需要一些邏輯判斷的話就必須要選第二個 (Multi-statement Table-valued Function)

 


Default Template

CREATE FUNCTION 

(   

     -- Add the parameters for the function here

     <@param1, sysname, @p1> ,

     <@param2, sysname, @p2> 

)

RETURNS TABLE

AS

RETURN

(

     -- Add the SELECT statement with parameter references here

     SELECT 0

)

 

 

 

 

我這兒寫個簡單的範例,就可以測試使用了。

 

Feature

撈取共用function運算後的結果

Usage

select * from Test('XXXXXX')

 

Detail

 


ALTER FUNCTION [dbo].[test]

(   

     @Name varchar(50)

)

RETURNS TABLE

AS

RETURN

(   

     --Also can add CTE in Function

     with CaculateResult as (

     -- Caculate Result

          select * from q_answerpool where name like @Name + '%'

     )

     select * from CaculateResult

)