Heim >Datenbank >MySQL-Tutorial >Können SQL Server-UDFs mit Skalarwerten einspaltige Tabellenparameter akzeptieren?
Ü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!