Maison > base de données > tutoriel mysql > Comment puis-je insérer efficacement de nouvelles valeurs de ligne d'une table SQL Server dans une autre à l'aide d'un déclencheur ?

Comment puis-je insérer efficacement de nouvelles valeurs de ligne d'une table SQL Server dans une autre à l'aide d'un déclencheur ?

Barbara Streisand
Libérer: 2025-01-01 10:09:09
original
387 Les gens l'ont consulté

How Can I Efficiently Insert New Row Values from One SQL Server Table into Another Using a Trigger?

Insertion de nouvelles valeurs de ligne dans une autre table à l'aide du déclencheur SQL Server

Considérez le scénario suivant : vous souhaitez surveiller les insertions dans la table aspnet_users et enregistrez l'ID et le nom du nouvel utilisateur dans un tableau séparé. Pour y parvenir, vous avez l'intention de créer un déclencheur sur aspnet_users qui capture ces valeurs. Cependant, vous recherchez une méthode plus efficace que la sélection par la dernière date_created.

La solution réside dans l'exploitation de la table virtuelle INSERTED, qui donne accès aux valeurs insérées lors de l'événement déclencheur. Voici un déclencheur SQL Server concis qui insère les nouveaux user_id et user_name dans une autre table :

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

Ce déclencheur capture efficacement les données de la nouvelle ligne et les insère dans votreDestinationTable. La table INSÉRÉE vous permet d'accéder directement aux valeurs insérées, garantissant précision et performances.

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