Maison > base de données > tutoriel mysql > Comment les déclencheurs SQL Server peuvent-ils garantir l'intégrité des données lors de l'insertion des enregistrements des employés ?

Comment les déclencheurs SQL Server peuvent-ils garantir l'intégrité des données lors de l'insertion des enregistrements des employés ?

Barbara Streisand
Libérer: 2024-12-23 20:06:13
original
426 Les gens l'ont consulté

How Can SQL Server Triggers Ensure Data Integrity When Inserting Employee Records?

Insertion de nouveaux enregistrements d'employés avec des déclencheurs SQL Server

Dans SQL Server 2008, la gestion des relations entre les tables est cruciale pour l'intégrité des données. Prenons le cas de deux tables, Employee et EmployeeResult. Pour garantir que chaque ligne insérée dans EmployeeResult a un enregistrement correspondant dans Employee, un simple déclencheur INSERT est requis.

Définition du déclencheur

Le déclencheur INSERT, nommé trig_Update_Employee, doit effectuer la tâche suivante :

  • Parcourir chaque ligne insérée dans EmployeeResult
  • Vérifiez si un employé avec le même nom et le même service existe dans Employee
  • Si l'employé n'existe pas, insérez un nouvel enregistrement dans Employee avec les valeurs correspondantes

Implémentation du déclencheur

Pour implémenter ce déclencheur, utilisez la table logique insérée qui donne accès aux lignes en cours d'insertion. La définition de déclencheur suivante satisfait aux exigences énoncées :

CREATE TRIGGER trig_Update_Employee
ON [EmployeeResult]
FOR INSERT
AS
Begin
    Insert into Employee (Name, Department) 
    Select Distinct i.Name, i.Department 
    from Inserted 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

Fonctionnalité du déclencheur

  • Le déclencheur est exécuté chaque fois qu'une ligne est insérée dans EmployeeResult.
  • La table insérée fournit un moyen d'accéder aux données de la ligne insérée.
  • Le déclencheur utilise un LEFT JOIN pour vérifiez si un employé portant le même nom et le même service existe dans la table Employé.
  • Si aucun employé correspondant n'est trouvé, un nouvel enregistrement est inséré dans Employé avec les informations correspondantes de la ligne insérée.
  • Le déclencheur garantit que la table Employé contient toutes les informations nécessaires sur les employés pour maintenir la cohérence des données.

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