Maison > base de données > tutoriel mysql > Comment un déclencheur SQL Server 2008 peut-il garantir l'intégrité des données des employés dans une table EmployeeResult ?

Comment un déclencheur SQL Server 2008 peut-il garantir l'intégrité des données des employés dans une table EmployeeResult ?

Susan Sarandon
Libérer: 2024-12-23 20:36:23
original
513 Les gens l'ont consulté

How Can a SQL Server 2008 Trigger Ensure Employee Data Integrity in an EmployeeResult Table?

Utilisation d'un déclencheur pour garantir l'existence des employés dans la table EmployeeResult

SQL Server 2008 offre un mécanisme puissant pour renforcer l'intégrité des données et maintenir les contraintes référentielles via des déclencheurs. Cet article vous guide dans la création d'un déclencheur INSERT simple sur la table EmployeeResult pour résoudre un problème courant de cohérence des données.

Comprendre le problème

L'objectif du déclencheur est de assurez-vous que chaque opération INSERT sur la table EmployeeResult est accompagnée d'une entrée correspondante dans la table Employee, reliant les noms des employés et les services. Si un employé existant n'est pas trouvé, le déclencheur insère les données nécessaires dans la table Employé.

Création du déclencheur

Pour y parvenir, nous utilisons le insert table logique, qui représente les données insérées dans la table EmployeeResult. L'implémentation du déclencheur suivante accomplit le comportement souhaité :

CREATE TRIGGER [trig_Update_Employee]
ON [EmployeeResult]
FOR INSERT
AS
BEGIN
    INSERT INTO [Employee] (Name, Department)
    SELECT DISTINCT i.name, i.Department
    FROM inserted AS i
    LEFT JOIN Employee e
    ON i.Name = e.Name AND i.Department = e.Department
    WHERE e.Name IS NULL;
END
Copier après la connexion

Expliquer la solution

  • Ligne 1 : Le nom du déclencheur est déclaré comme [trig_Update_Employee].
  • Ligne 2 : Le le déclencheur est appliqué à la table [EmployeeResult].
  • Ligne 3 : Le déclencheur s'exécute chaque fois qu'un INSERT se produit sur la table.
  • Ligne 5 : On utilise la table logique insérée et DISTINCT pour éviter les entrées en double.
  • Lignes 6-8 : Nous effectuons un LEFT JOIN avec la table Employee pour identifier les employés et les services manquants.

Avantages du Déclencheur

  • Garantit l'intégrité des données en maintenant l'intégrité référentielle entre les tables EmployeeResult et Employee.
  • Simplifie la saisie des données en ajoutant automatiquement de nouveaux employés à la table Employee, réduisant ainsi le risque d'erreurs .
  • Améliore la cohérence des données en garantissant que les informations sur les employés sont présentes dans les deux tableaux.

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