Rumah >pangkalan data >tutorial mysql >Bolehkah saya Melepasi Jadual sebagai Parameter kepada UDF Skalar SQL Server?

Bolehkah saya Melepasi Jadual sebagai Parameter kepada UDF Skalar SQL Server?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-05 11:31:40856semak imbas

Can I Pass a Table as a Parameter to a SQL Server Scalar UDF?

Melalui Jadual sebagai Parameter kepada UDF Pelayan SQL

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn