Rumah >pangkalan data >tutorial mysql >Bolehkah saya Melepasi Jadual sebagai Parameter kepada UDF Skalar SQL Server?
Adakah mungkin untuk menghantar jadual sebagai parameter ke dalam UDF penimbang?
Ya, adalah mungkin untuk menghantar jadual sebagai parameter ke dalam UDF penimbang. Walau bagaimanapun, tidak semua jenis jadual disokong.
Sekatan ke atas Jenis Jadual
Menurut dokumentasi Microsoft, semua jenis data, termasuk jenis yang ditentukan pengguna CLR dan ditentukan oleh pengguna. jenis jadual, boleh digunakan sebagai parameter kecuali untuk data cap masa taip.
Jenis Jadual Ditakrifkan Pengguna
Untuk menghantar jadual sebagai parameter, anda perlu mencipta jenis jadual yang ditentukan pengguna. Contohnya:
CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50))
Contoh UDF
UDF berikut mengambil jenis jadual yang ditentukan pengguna sebagai parameter:
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
Nota bahawa parameter mesti dinyatakan sebagai BACA SAHAJA.
Contoh Penggunaan
Untuk menggunakan UDF, isytiharkan pembolehubah jenis jadual yang ditentukan pengguna dan masukkan data ke dalamnya:
DECLARE @myTable TableType INSERT INTO @myTable(LocationName) VALUES('aaa')
Anda kemudian boleh memanggil UDF:
SELECT dbo.Example(@myTable)
Menggunakan Data daripada Jadual
Jika anda mempunyai data dalam jadual yang anda ingin menghantar ke UDF, anda boleh menggunakan pembolehubah untuk menyimpan data:
DECLARE @myTable TableType INSERT INTO @myTable(field_name) SELECT field_name_2 FROM my_other_table
Anda kemudian boleh menghantar pembolehubah ke UDF:
SELECT dbo.Example(@myTable)
Atas ialah kandungan terperinci Bolehkah saya Melepasi Jadual sebagai Parameter kepada UDF Skalar SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!