Maison >base de données >tutoriel mysql >Comment les déclencheurs SQL Server peuvent-ils insérer des données de nouvelles lignes dans une autre table ?

Comment les déclencheurs SQL Server peuvent-ils insérer des données de nouvelles lignes dans une autre table ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-25 03:16:09204parcourir

How Can SQL Server Triggers Insert Data from New Rows into Another Table?

Insérer des valeurs de nouvelles lignes dans une autre table à l'aide de déclencheurs SQL Server

La mise en œuvre de déclencheurs dans SQL Server offre un moyen pratique d'automatiser les opérations sur les données en fonction sur certains événements. Comme décrit dans la question, un déclencheur peut être configuré sur la table aspnet_users pour capturer les nouvelles insertions et remplir une autre table avec des informations pertinentes.

Pour récupérer les valeurs de la ligne nouvellement insérée, SQL Server fournit le insérée, qui contient les colonnes et les données de la ligne insérée. Cela élimine le besoin de recourir à des méthodes potentiellement peu fiables, telles que la comparaison des horodatages.

L'instruction SQL suivante montre comment créer un déclencheur qui insère les valeurs user_id et user_name de la nouvelle ligne dans une table distincte :

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
Dans cet exemple :

  • yourNewTrigger est le nom que vous attribuez au déclencheur.
  • yourSourcetable est le nom de la table où le déclencheur sera exécuté lors de l'insertion.
  • yourDestinationTable est le nom de la table où vous souhaitez insérer les valeurs.
Le code utilise le Pseudo-table

insérée pour accéder aux colonnes user_id et user_name à partir de la nouvelle ligne. Il spécifie également des valeurs de colonne supplémentaires (« a », « par défaut » et null) selon les exigences de la structure de votre table de destination.

Une fois défini, ce déclencheur s'exécutera automatiquement chaque fois qu'un nouvel enregistrement est ajouté à la table yourSourcetable. , garantissant que les données correspondantes sont ajoutées à la table yourDestinationTable avec une intervention manuelle minimale.

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