Öyleyse neden dbo altında oluşturulan önek (şema) olmadan fonksiyonu çağırabiliriz?
Gönderen UDF en Kitaplar Çevrimiçi Belgesi
Skaler değerli fonksiyonlar skaler ifadelerin kullanıldığı yerlerde çağrılabilir. Bu, hesaplanan sütunları ve CHECK kısıtlama tanımlarını içerir. Skaler değerli fonksiyonlar EXECUTE ifadesi kullanılarak da yürütülebilir. Skaler değerli fonksiyonlar, fonksiyonun en azından iki parçalı adı kullanılarak çağrılmalıdır .
Bu temelde SQL Server geliştirme ekibi tarafından belirlenen bir kısıtlamadır ve oldukça doğru olduğunu düşünüyorum. Bir şekilde izin verilse bile (sadece konuşma uğruna) hala Şema önekini kullanırım.
Eklemeden çalışsa bile şema adının kullanılmasını her zaman destekliyorum. Bu en iyi uygulamadır ve tüm "İyi" geliştiriciler ne kadar gereksiz olursa olsun onu kullanırlar.
Gördüğüm diğer neden, Veritabanı motoru gibi sistem işlevi getdate ()
ve kullanıcı tanımlı işlevler arasında ayrım yapmak için bir şey gerekiyor . Şema adı olmadan işlev çağırma izniniz varsa, veritabanı altyapısı Getdate adlı kullanıcı tarafından oluşturulan işlev veya sistem GETDATE () işlevi arasında nasıl farklılık gösterir.