Rumah >pangkalan data >tutorial mysql >Bolehkah UDF Bernilai Skalar SQL Server Menerima Parameter Jadual Satu Lajur?

Bolehkah UDF Bernilai Skalar SQL Server Menerima Parameter Jadual Satu Lajur?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-05 13:21:40788semak imbas

Can SQL Server Scalar-Valued UDFs Accept Single-Column Table Parameters?

Melalui Parameter Jadual ke UDF Pelayan SQL

Masalah:

Adakah mungkin untuk lulus jadual sebagai parameter kepada fungsi takrif pengguna (UDF) bernilai skalar dalam SQL Server, dengan sekatan bahawa jadual mengandungi hanya satu lajur?

Jawapan:

Ya, adalah mungkin untuk menghantar parameter jadual kepada UDF, dengan syarat jenis data jadual adalah bukan jenis data cap masa. Untuk mencapai matlamat ini, jenis jadual yang ditentukan pengguna mesti digunakan.

Contoh Jenis Jadual yang ditentukan Pengguna dan Penggunaan UDF:

CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50))
GO

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
GO

DECLARE @myTable TableType
INSERT INTO @myTable(LocationName) VALUES('aaa')
SELECT * FROM @myTable

SELECT dbo.Example(@myTable)

Mengendalikan Data daripada Jadual:

Untuk menghantar jadual data daripada jadual sedia ada kepada yang ditentukan pengguna pembolehubah jenis jadual, kod berikut boleh digunakan:

DECLARE @myTable TableType
INSERT INTO @myTable(field_name)
SELECT field_name_2 FROM my_other_table

Atas ialah kandungan terperinci Bolehkah UDF Bernilai Skalar SQL Server Menerima Parameter Jadual Satu Lajur?. 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