2016-09-16 87 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