为了账号安全,请及时绑定邮箱和手机立即绑定

请问一个SQL函数返回多个值的问题?

请问一个SQL函数返回多个值的问题?

慕码人8056858 2019-07-08 10:06:11
SQL函数返回多个值的问题
查看完整描述

5 回答

?
MM们

TA贡献1886条经验 获得超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
--这里需要提醒楼主的是 因为返回的是表变量 所以不能像返回变量那样调用这个函数
--给你写个例子吧
select * from getinv_name('100001')

查看完整回答
反对 回复 2019-07-14
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

 自定义函数,采用返回一张表,那么就可以很多个值,目前我常采用这种方式,如下脚本所示:

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


查看完整回答
反对 回复 2019-07-14
?
噜噜哒

TA贡献1784条经验 获得超7个赞

表中也是要参数的啊,光给表了,人家怎么知道你表里要返回什么啊~RETURN@tTABLE【(fchar(20),achar(20),bchar(6),cdatetime,dchar(4))】【】里面的是你要返回表中的参数@t是你表名的参数下面的insert你

查看完整回答
反对 回复 2019-07-14
?
九州编程

TA贡献1785条经验 获得超4个赞

如果你知道函数返回的列数跟类型,可以事先创建一个临时表,然后insert 进去
或者用select into from方法创建一个临时表并填充数据

查看完整回答
反对 回复 2019-07-14
?
哔哔one

TA贡献1854条经验 获得超8个赞

1、可以返回Table,来解决多值问题;
2、如果函数不是放到SQL查询语句中使用,建议改为sp。这样可以返回多个值,且可类型不同。

查看完整回答
反对 回复 2019-07-14
  • 5 回答
  • 0 关注
  • 2676 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信