5 回答

TA貢獻1886條經(jīng)驗 獲得超2個贊
create function getinv_name(@inv_code nvarchar(50))
RETURNS @TempTable table(inv_name nvarchar(50) ,
inv_model nvarchar(50))
AS
begin
insert into @TempTable(inv_name,inv_model)
select inv_name,inv_model from mate_inv_dict where inv_code=@inv_code
return
end
--這里需要提醒樓主的是 因為返回的是表變量 所以不能像返回變量那樣調用這個函數(shù)
--給你寫個例子吧
select * from getinv_name('100001')

TA貢獻1828條經(jīng)驗 獲得超4個贊
自定義函數(shù),采用返回一張表,那么就可以很多個值,目前我常采用這種方式,如下腳本所示:
1 2 3 4 5 | create function fun_test(@str1 varchar(20)) returns @t table(a varchar(10),b varchar(10)) begin insert into @t (a,b)values('變量1','變量2') end |

TA貢獻1784條經(jīng)驗 獲得超7個贊
表中也是要參數(shù)的啊,光給表了,人家怎么知道你表里要返回什么啊~RETURN@tTABLE【(fchar(20),achar(20),bchar(6),cdatetime,dchar(4))】【】里面的是你要返回表中的參數(shù)@t是你表名的參數(shù)下面的insert你

TA貢獻1785條經(jīng)驗 獲得超4個贊
如果你知道函數(shù)返回的列數(shù)跟類型,可以事先創(chuàng)建一個臨時表,然后insert 進去
或者用select into from方法創(chuàng)建一個臨時表并填充數(shù)據(jù)

TA貢獻1854條經(jīng)驗 獲得超8個贊
1、可以返回Table,來解決多值問題;
2、如果函數(shù)不是放到SQL查詢語句中使用,建議改為sp。這樣可以返回多個值,且可類型不同。
添加回答
舉報