Heim >Datenbank >MySQL-Tutorial >Können SQL Server-UDFs mit Skalarwerten einspaltige Tabellenparameter akzeptieren?

Können SQL Server-UDFs mit Skalarwerten einspaltige Tabellenparameter akzeptieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-05 13:21:40815Durchsuche

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

Übergabe von Tabellenparametern an SQL Server-UDFs

Problem:

Ist eine Übergabe möglich? eine Tabelle als Parameter für eine benutzerdefinierte Skalierungsfunktion (UDF) in SQL Server, mit der Einschränkung, dass die Tabelle nur eine einzelne enthält Spalte?

Antwort:

Ja, es ist möglich, Tabellenparameter an UDFs zu übergeben, sofern der Datentyp der Tabelle nicht der Zeitstempel-Datentyp ist. Um dies zu erreichen, müssen benutzerdefinierte Tabellentypen verwendet werden.

Beispiel für benutzerdefinierte Tabellentypen und UDF-Verwendung:

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)

Umgang mit Daten aus einer Tabelle:

Um eine Tabelle mit Daten aus einer vorhandenen Tabelle an eine benutzerdefinierte Tabellentypvariable zu übergeben, kann der folgende Code verwendet werden verwendet:

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

Das obige ist der detaillierte Inhalt vonKönnen SQL Server-UDFs mit Skalarwerten einspaltige Tabellenparameter akzeptieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn