Heim > Datenbank > MySQL-Tutorial > Kann ich eine Tabelle als Parameter an eine skalare SQL Server-UDF übergeben?

Kann ich eine Tabelle als Parameter an eine skalare SQL Server-UDF übergeben?

Mary-Kate Olsen
Freigeben: 2025-01-05 11:31:40
Original
871 Leute haben es durchsucht

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

Übergabe von Tabellen als Parameter an SQL Server-UDFs

Ist es möglich, eine Tabelle als Parameter an ein Skalierungs-UDF zu übergeben?

Ja, es ist möglich, Tabellen als Parameter an Scaler-UDFs zu übergeben. Allerdings werden nicht alle Tabellentypen unterstützt.

Einschränkungen für Tabellentypen

Laut Microsoft-Dokumentation alle Datentypen, einschließlich CLR-benutzerdefinierter Typen und benutzerdefiniert Tabellentypen, können mit Ausnahme des Zeitstempel-Datentyps als Parameter verwendet werden.

Benutzerdefinierte Tabelle Typen

Um eine Tabelle als Parameter zu übergeben, müssen Sie einen benutzerdefinierten Tabellentyp erstellen. Zum Beispiel:

CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50))
Nach dem Login kopieren

Beispiel-UDF

Das folgende UDF verwendet einen benutzerdefinierten Tabellentyp als 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
Nach dem Login kopieren

Hinweis dass der Parameter als READONLY angegeben werden muss.

Beispiel Verwendung

Um die UDF zu verwenden, deklarieren Sie eine Variable des benutzerdefinierten Tabellentyps und fügen Sie Daten darin ein:

DECLARE @myTable TableType
INSERT INTO @myTable(LocationName) VALUES('aaa')
Nach dem Login kopieren

Sie können dann die UDF aufrufen:

SELECT dbo.Example(@myTable)
Nach dem Login kopieren
Nach dem Login kopieren

Daten aus einer Tabelle verwenden

Wenn Sie die gewünschten Daten in einer Tabelle haben Zur Übergabe an die UDF können Sie eine Variable zum Speichern der Daten verwenden:

DECLARE @myTable TableType
INSERT INTO @myTable(field_name)
SELECT field_name_2 FROM my_other_table
Nach dem Login kopieren

Sie können die Variable dann an die UDF übergeben:

SELECT dbo.Example(@myTable)
Nach dem Login kopieren
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKann ich eine Tabelle als Parameter an eine skalare SQL Server-UDF übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage