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

问题描述:

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

有没有办法解决这个限制?

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

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

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

现在调用函数::

select dbo.udf_getdate() 

create view vGetDate as select getdate() as gtdt 

然后在UDF从该视图中选择