2013年11月29日 星期五

[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

如果Table欄位太多,定義上麻煩可以參考我之前寫的文章,


使用TempTable的方式: http://kyleshen616.blogspot.tw/2013/10/ms-sqltemp-tableifelse-if_29.html

沒有留言:

張貼留言