Meluluskan Jadual sebagai Parameter kepada UDF Pelayan SQL
Ia adalah mungkin untuk menghantar jadual sebagai parameter ke dalam UDF skalar SQL Server. Walau bagaimanapun, sekatan tertentu dikenakan, seperti yang dinyatakan dalam dokumentasi: semua jenis data dibenarkan kecuali cap waktu. Untuk mengatasi had ini, anda boleh mencipta jenis jadual takrif pengguna (UDTT).
Berikut ialah contoh UDTT bernama TableType:
CREATE TYPE TableType AS TABLE ( LocationName VARCHAR(50) );
Dengan ditentukan UDTT, anda boleh mencipta fungsi yang menerima parameter jenis itu:
CREATE FUNCTION Example(@TableName TableType READONLY) RETURNS VARCHAR(50) AS BEGIN DECLARE @name VARCHAR(50); SELECT TOP 1 @name = LocationName FROM @TableName; RETURN @name; END;
Perhatikan bahawa parameter ditakrifkan sebagai BACA SAHAJA. Untuk menggunakan fungsi ini, anda boleh mencipta pembolehubah UDTT dan memasukkan data ke dalamnya:
DECLARE @myTable TableType; INSERT INTO @myTable(LocationName) VALUES('aaa'); SELECT * FROM @myTable;
Kini anda boleh memanggil fungsi Contoh dan lulus pembolehubah sebagai parameter:
SELECT dbo.Example(@myTable);
Untuk keperluan khusus anda untuk mengembalikan senarai nilai CSV daripada jadual, anda boleh mengubah suai fungsi tersebut dengan sewajarnya. Selain itu, anda boleh melakukan penapisan dalam fungsi, seperti menyemak nol dan pendua.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melepasi Jadual sebagai Parameter kepada UDF Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!