Aşağıdaki kullanıcı tanımlı işlevi vardır:SQL Server deterministik kullanıcı tanımlı fonksiyon
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
Ben deterministik değil neden bu fonksiyonu kullanarak hesaplanmış bir sütun Index oluşturamazsınız. Birisi neden deterministik ve niçin determinist hale getirmek için nasıl değiştirileceğini açıklayamadı mı? Teşekkürler
ile kullanıcı tanımlı işlevi ilan etmek gerekir. Ayrıca, tablomdan bahseden bir Görünümüm var. Sanırım aynı sütunda bir dizin oluşturmak için de görünümde SchemaBinding belirtmek zorundayım. Bununla ilgili olarak, temel tablomuz hesaplanmış sütun üzerinde bir İndeks olarak ise, Görünümde başka bir Dizin oluşturulsun mu? – opaera
@opaera - Evet - Bu sütunu da görünümde dizine eklemeniz gerekmeyecek. –
Son bir soru, eğer yapabilirsen. Görünümde bir sorgulama yapan bir sp var (indekslenmiş tablonun referans aldığı Görünüm). Dizin adını sorgudan yan tümce belirtebilir miyim? Örneğin. MyView'den (MyTableIndex ile) seçin ... Belki bunu yapmanın bazı faydaları var mı? – opaera