Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Microsoft Fabric'te SQL veritabanı
Transact-SQL kullanarak kullanıcı tanımlı bir işlev yürütür.
Skaler işlevler, işlevin en az iki parçalı adı (<schema>.<function>) kullanılarak çağrılmalıdır. Daha fazla bilgi için bkz. CREATE FUNCTION (Transact-SQL) .
Sınırlama
Transact-SQL'de parametreler <value> veya @parameter_name = <value>kullanılarak sağlanabilir. Parametre bir işlemin parçası değildir. Bu nedenle, bir parametre daha sonra geri alınan bir işlemde değiştirilirse, parametrenin değeri önceki değerine geri dönmez. Çağırana döndürülen değer her zaman modülün döndürdüğü zamandaki değerdir.
İzinler
EXECUTE deyimini çalıştırmak için izinler gerekli değildir. Ancak, dizesinde başvurulan EXECUTE güvenliği sağlanabilir öğeler üzerinde izinler gereklidir. Örneğin, bir dizge bir INSERT ifadesi içeriyorsa, EXECUTE ifadesini çağıran kişinin hedef tabloda INSERT izni olmalıdır.
EXECUTE deyimi bir modüle dahil olsa bile EXECUTE deyimiyle karşılaşıldığında izinler denetleniyor. Daha fazla bilgi için YÜRÜT'e bakın.
Transact-SQL kullanma
Bu örnekte, ufnGetSalesOrderStatusTextçoğu sürümünde kullanılabilen AdventureWorks2025 skaler değerli işlevi kullanılır. İşlevin amacı, belirli bir tamsayıdan satış durumu için bir metin değeri döndürmektir. 1 ile 7 arasında tamsayıları @Status parametresine geçirerek örneği değiştirebilirsiniz.
USE [AdventureWorks2022]
GO
-- Declare a variable to return the results of the function.
DECLARE @ret NVARCHAR(15);
-- Execute the function while passing a value to the @status parameter
EXEC @ret = dbo.ufnGetSalesOrderStatusText @Status = 5;
-- View the returned value.
-- The Execute and Select statements must be executed at the same time.
SELECT N'Order Status: ' + @ret;
Sonuç şu şekildedir.
Order Status: Shipped