Bagikan melalui


Menjalankan fungsi yang ditentukan pengguna

Berlaku untuk:SQL ServerDatabase Azure SQLDatabase SQL di Microsoft Fabric

Jalankan fungsi yang ditentukan pengguna menggunakan Transact-SQL.

Fungsi skalar harus dipanggil dengan menggunakan setidaknya nama dua bagian fungsi (<schema>.<function>). Untuk informasi selengkapnya, lihat CREATE FUNCTION (Transact-SQL).

Batasan

Dalam Transact-SQL, parameter dapat disediakan baik dengan menggunakan <value> atau dengan menggunakan @parameter_name = <value>. Parameter bukan bagian dari transaksi. Oleh karena itu, jika parameter diubah dalam transaksi yang kemudian digulung balik, nilai parameter tidak kembali ke nilai sebelumnya. Nilai yang dikembalikan ke pemanggil selalu merupakan nilai pada saat modul kembali.

Perizinan

Izin tidak diperlukan untuk menjalankan pernyataan EXECUTE . Namun, izin diperlukan pada securables yang dirujuk dalam EXECUTE string. Misalnya, jika string berisi pernyataan INSERT , pemanggil EXECUTE pernyataan harus memiliki INSERT izin pada tabel target. Izin diperiksa ketika pernyataan EXECUTE ditemukan, bahkan jika pernyataan EXECUTE termasuk dalam modul. Untuk informasi selengkapnya, lihat JALANKAN.

Menggunakan Transact-SQL

Contoh ini menggunakan ufnGetSalesOrderStatusText fungsi bernilai skalar yang tersedia di sebagian besar edisi AdventureWorks2025. Tujuan fungsi ini adalah untuk mengembalikan nilai teks untuk status penjualan dari bilangan bulat tertentu. Bervariasi contoh dengan meneruskan bilangan bulat 1 hingga 7 ke @Status parameter .

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;

Berikut hasilnya.

Order Status: Shipped