[MS-SQL]SQL自訂函數回傳Table
以往寫T-SQL函數通常都Return一個值,但今天學到也可以回傳Table的資料,底下寫一個範例,針對傳入不同的條件,回傳不同的Table:
CREATE FUNCTION [dbo].[Test_Function]
(@ID int)
RETURNS @TABLE TABLE (
ID varchar(25),
Number varchar(25)
)
AS
BEGIN
IF @ID = 1
begin
INSERT INTO @TABLE (ID,Number)
select 'ID1','ID Number 1'
end
else
BEGIN
INSERT INTO @TABLE (ID,Number)
select 'ID2','ID Number 2'
end
RETURN
END
--測試
SELECT * from Test_Function (2)
如果Table欄位太多,太多欄位要定義,可以參考我之前寫的文章,
使用TempTable的方式: http://www.dotblogs.com.tw/kyleshen/archive/2013/10/29/126113.aspx