如何将值数组传递给Sybase(15.x)中的函数

时间:2013-12-16 19:03:53

标签: sql sybase user-defined-functions sybase-ase

似乎Sybase在Sybase ASE(15.x)中省略了函数median(),而典型的,sum(),min(),max(),count()等等可用。

结果,我想我可以创建一个填补这个空白的UDF(用户定义函数)。我看到一些UDF采用值(或固定值集)并返回值的示例;像这样:http://www.sypron.nl/udf.html

不幸的是,我没有看到任何函数将值数组作为参数的示例。我看到了丑陋的黑客将所有值连接成一个长字符串并传递了它,但我宁愿尝试探索更简洁的方法。我还可以要求无论是什么调用函数将数据插入到预定的tmp表中,然后该函数可以读取该函数,但这看起来也很难看。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用临时表将其用作数组。请考虑以下示例

create table #t
(
  id int
)

insert into #T values (1)    

create function fun
returns int
as
   declare @id int
   select @id = id from #T
   return @id
go

select dbo.fun()