У меня есть функция, которая вызывает узел CLRSQL Server 2008 R2 заявления Условные во внешней функции
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, поэтому я не могу создать другую функцию, которая вызывает эту внешнюю функцию.
Есть ли другой способ достижения моего требования?
Благодаря
Почему это не может быть добавлен внутри условного утверждения? –
функция не компилируется – NetTechie