当前位置: 代码迷 >> Sql Server >> 自定义函数怎么返回两个值
  详细解决方案

自定义函数怎么返回两个值

热度:45   发布时间:2016-04-24 10:45:20.0
自定义函数如何返回两个值
同事说自定义函数可以返回两个值,但搜了一下没找到对应的方法。还请坛友帮忙。比如我的代码:

ALTER FUNCTION [dbo].insert_coord1
(@startnum INT, @startx FLOAT, @starty FLOAT, @endnum INT, @endx FLOAT, @endy FLOAT)
RETURNS FLOAT
AS
BEGIN
  -- routine body goes here, e.g.
  -- SELECT 'Navicat for SQL Server'
  SET @startnum = 1
  SET @startx = 128.384729
  SET @starty = 83.845837
  SET @endnum = 51
  SET @endx = 139.847212
  SET @endy = 85.843872


  RETURN @startx  -- 此处如何能返回两个值
END


------解决方案--------------------
要么返回单个值
要么返回个表
如果不想返回表
就用sp output吧

------解决方案--------------------
把两个值 组成一个字符串 返回不就行了。
------解决方案--------------------
创建一个变量 将你要返回的两个值用特殊的字符 比如+ 
------解决方案--------------------
 等等组合 这样就只要返回一个值

读出来的时候就根据你组合的规则 分割成两个字符串 
------解决方案--------------------
函数自身提供两个返回类型:单个值和单个表,前者为标题值函数,后者为表值函数。
前者只能返回单个值,可以在任何能使用列的地方使用。
后者返回单个表,可以在任何能使用表的地方使用。

没有能返回两个值的标题值函数或返回两个表的表值函数
  相关解决方案