2016-09-16 75 views
0

R2条件语句我有一个调用CLR组件SQL SERVER 2008的外部函数

CREATE FUNCTION [dbo].[fGetUTCDate](@LocalDate [datetime]) 
RETURNS [datetime] WITH EXECUTE AS CALLER 
AS 
EXTERNAL NAME [MyAssembly].[MyClassName].[GetUTCDateTime] 
GO 

我需要添加条件语句这个函数中一样,如果@LocalDate是一个特定日期,然后返回一些其他值的函数否则使用程序集,如:

CREATE FUNCTION [dbo].[fGetUTCDate](@LocalDate [datetime]) 
RETURNS [datetime] WITH EXECUTE AS CALLER 
AS 
BEGIN 
RETURN 
CASE WHEN @LocalDate = 'xxxxx' THEN 'XYZ' ELSE 
    EXTERNAL NAME [MyAssembly].[MyClassName].[GetUTCDateTime] 
END 
END 
GO 

但是,似乎我不能在此函数中添加条件语句。

我对当前要求的限制是: a)我无法修改程序集 b)该函数用于超过250个SP,因此我无法创建另一个调用此外部函数的函数。

有没有其他方法可以达到我的要求?

感谢

+0

为什么不能加入旧名称创建IF逻辑新功能在条件语句里面? –

+0

功能不能编译 – NetTechie

回答

3

您可以

1)重命名现有功能

2)调用旧功能

+0

太棒了!谢谢!! – NetTechie