摘要: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
)