sybase用户定义的函数 - “非确定性”或“非法内置函数”错误

时间:2010-01-08 17:32:15

标签: function sybase user-defined-functions

尝试在sybase 15+上创建用户定义的函数(UDF)时,可能会收到以下错误: “标量SQL函数中的非法内置函数语句” 这是b / c“非确定性”函数,例如getdate(),rand(),newid()在UDF中是不允许的。

有没有解决这个限制的方法?

请注意,我计划在这里回答我自己的问题。

1 个答案:

答案 0 :(得分:1)

解决方案是创建一个视图,例如:

create view vGetDate as select getdate() as gtdt

然后在UDF中从该视图中选择:

create function udf_getdate
returns datetime
as
declare @gd datetime
select @gd=gtdt from vGetDate
return @gd
go

现在调用函数:

select dbo.udf_getdate()