以往寫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
沒有留言:
張貼留言