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
Libérer: 2025-01-05 10:45:44
original
701 Les gens l'ont consulté

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
Copier après la connexion

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