Maison > base de données > tutoriel mysql > Les UDF à valeur scalaire SQL Server peuvent-elles accepter les paramètres de table à une seule colonne ?

Les UDF à valeur scalaire SQL Server peuvent-elles accepter les paramètres de table à une seule colonne ?

Mary-Kate Olsen
Libérer: 2025-01-05 13:21:40
original
834 Les gens l'ont consulté

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

Passer des paramètres de table aux UDF SQL Server

Problème :

Est-il possible de transmettre une table en tant que paramètre d'une fonction définie par l'utilisateur (UDF) à valeur de mise à l'échelle dans SQL Server, avec la restriction que le La table ne contient qu'une seule colonne ?

Réponse :

Oui, il est possible de transmettre des paramètres de table aux UDF, à condition que le type de données de la table ne soit pas le type de données d’horodatage. Pour y parvenir, des types de tables définis par l'utilisateur doivent être utilisés.

Exemple de type de table défini par l'utilisateur et d'utilisation de l'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)
Copier après la connexion

Gestion des données à partir d'une table :

Pour transmettre une table de données d'une table existante vers une variable de type table définie par l'utilisateur, le code suivant peut être utilisé :

DECLARE @myTable TableType
INSERT INTO @myTable(field_name)
SELECT field_name_2 FROM my_other_table
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal