Maison > base de données > tutoriel mysql > Comment les paramètres table peuvent-ils améliorer les performances des procédures stockées SQL et la simplicité du code ?

Comment les paramètres table peuvent-ils améliorer les performances des procédures stockées SQL et la simplicité du code ?

DDD
Libérer: 2025-01-03 05:52:39
original
506 Les gens l'ont consulté

How Can Table-Valued Parameters Improve SQL Stored Procedure Performance and Code Simplicity?

Passer des listes de paramètres table aux procédures stockées SQL

Le scénario de remplissage d'une table de base de données avec plusieurs éléments associés à un enregistrement spécifique est un défi courant dans la manipulation des données. Alors que les approches traditionnelles impliquent la transmission itérative de valeurs de paramètres ou l'utilisation de manipulations de chaînes, une solution plus efficace est disponible.

Solution : Paramètres table dans SQL Server 2008

SQL Server 2008 a introduit les paramètres table, qui permettent de transmettre une collection de données structurées en tant que paramètre à une procédure stockée. Cela élimine le besoin d'une manipulation complexe de chaînes ou d'une gestion itérative de paramètres.

Dans le code fourni, la procédure stockée « AddItemsToReport » peut être mise à jour pour accepter un paramètre table :

ALTER PROCEDURE AddItemsToReport
(
  @ReportId int,
  @Items AS ItemList -- User-defined table type
)
AS
BEGIN
  INSERT INTO ReportItem (ReportId, ItemId)
  SELECT  @ReportId,
            Id
  FROM    @Items
END
Copier après la connexion

Type de table personnalisé pour la liste d'éléments

Pour créer un type de table personnalisé pour la liste d'éléments, exécutez le SQL suivant déclaration :

CREATE TYPE ItemList AS TABLE
(
  Id int
)
Copier après la connexion

Passer le paramètre table à partir de C#

Dans votre code C#, créez une instance du type de table personnalisé :

var itemList = new ItemList();
itemList.Rows.Add(1);
itemList.Rows.Add(2);
itemList.Rows.Add(3);
Copier après la connexion

Ensuite, transmettez le paramètre table au fichier stocké. procédure :

dbCommand.AddInParameter(dbCommand, "Items", DbType.Object, itemList);
Copier après la connexion

Avantages des paramètres table

  • Performances améliorées en évitant plusieurs allers-retours vers la base de données.
  • Simplifié code en éliminant le besoin de manipulation ou d'itération de chaîne.
  • Sécurité améliorée en tapant fortement l'entrée données.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal