У меня есть следующая пользовательская функция:
create function [dbo].[FullNameLastFirst]
(
@IsPerson bit,
@LastName nvarchar(100),
@FirstName nvarchar(100)
)
returns nvarchar(201)
as
begin
declare @Result nvarchar(201)
set @Result = (case when @IsPerson = 0 then @LastName else case when @FirstName = '' then @LastName else (@LastName + ' ' + @FirstName) end end)
return @Result
end
Я не могу создать индекс в вычисленном столбце, используя эту функцию, потому что он не детерминирован. Кто-то может объяснить, почему он не детерминирован и в конце концов, как изменить, чтобы сделать его детерминированным? Благодаря