Maison >base de données >tutoriel mysql >Comment récupérer les valeurs de ligne insérées dans un déclencheur SQL Server pour l'insertion de données dans des tableaux croisés ?

Comment récupérer les valeurs de ligne insérées dans un déclencheur SQL Server pour l'insertion de données dans des tableaux croisés ?

DDD
DDDoriginal
2025-01-05 10:45:44651parcourir

How to Retrieve Inserted Row Values in a SQL Server Trigger for Cross-Table Data Insertion?

Récupération des valeurs de ligne insérées dans le déclencheur SQL Server pour l'insertion dans des tableaux croisés

Pour insérer l'ID utilisateur et le nom d'utilisateur à partir d'une nouvelle ligne dans aspnet_users table dans une autre table, un déclencheur peut être utilisé.

Obtention de la dernière ligne insérée Valeurs

Traditionnellement, la récupération des dernières valeurs de ligne insérées impliquait la sélection de lignes en fonction de la dernière date_created, ce qui peut être peu fiable. Au lieu de cela, SQL Server fournit la pseudo-table « insérée » qui contient les données de ligne qui ont déclenché l'insertion.

Implémentation du déclencheur

Le déclencheur suivant, « yourNewTrigger », peut être créé sur "yourSourceTable" pour capturer l'insertion événements.

CREATE TRIGGER yourNewTrigger ON yourSourceTable
FOR INSERT
AS

INSERT INTO yourDestinationTable
        (col1, col2    , col3, user_id, user_name)
    SELECT
        'a'  , default , null, user_id, user_name
        FROM inserted

go

Explication

  • La pseudo-table "insérée" donne accès aux données des lignes insérées.
  • Colonnes" col1" et "col2" sont renseignés avec des valeurs fixes.
  • "col3" reste nul s'il n'est pas spécifié dans la source table.
  • "user_id" et "user_name" sont extraits de la ligne insérée.
  • Les valeurs insérées sont insérées dans "yourDestinationTable".

En utilisant la pseudo-table "insérée", le déclencheur récupère efficacement les dernières valeurs de ligne insérées, permettant l'insertion dans la table croisée d'informations spécifiques à l'utilisateur.

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:
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