SQL Server AVANT de Déclencheur d'INSERTION
J'ai deux tables comme suit:
Tableau 1 'MySkills' [ primary key (EmpId, SkillId)]
+----------+------------+---------+----------+-----------+------------+-----------------+----------------+
| EmpId | CategoryId | SkillId | ExpYears | ExpMonths | Experience | RatingSubmitted | RatingApproved |
+----------+------------+---------+----------+-----------+------------+-----------------+----------------+
| CSSL9610 | arcgis | arcgis1 | 0.00 | 0.00 | 0.00 | 1.00 | NULL |
| CSSL9610 | arcgis | arcgis2 | 0.00 | 0.00 | 0.00 | 0.00 | NULL |
| CSSL9610 | arcgis | arcgis3 | 0.00 | 0.00 | 0.00 | 0.00 | NULL |
| CSSL9610 | arcgis | arcgis4 | 0.00 | 0.00 | 0.00 | 0.00 | NULL |
| CSSL9610 | arcgis | arcgis5 | 0.00 | 0.00 | 0.00 | 0.00 | NULL |
| CSSL9610 | arcgis | arcgis6 | 0.00 | 0.00 | 0.00 | 0.00 | NULL |
| CSSL9610 | arcgis | arcgis7 | 0.00 | 0.00 | 0.00 | 0.00 | NULL |
+----------+------------+---------+----------+-----------+------------+-----------------+----------------+
Et Table de 1 'MySkills_details' [ primary key (EmpId)]
+-------+------------------+---------------+----------------+--------+---------------+---------+------------+
| EmpId | Experience_Prior | Qualification | Specialization | Status | LastSubmitted | NextDue | ApprovedOn |
+-------+------------------+---------------+----------------+--------+---------------+---------+------------+
Droit maintenant, il n'y a pas de données dans MySkills_details.
Je dois faire une clé Étrangère sur EmpId dans MySkills_details référencement EmpId dans MySkills, ce qui n'est pas possible à cause de la clé primaire composite dans MySkills.
J'ai donc décidé d'aller dans l'autre sens. À l'exception de l'insertion qui se passe dans MySkills premier et il n'y a pas AVANT les déclencheurs d'INSERTION dans SQL Server pour autant que je sais.
Alors, Comment écrire un déclencheur AVANT d'INSÉRER qui insère des données dans les MySkill_details d'abord avant de l'insérer dans MySkills.
Vous devez vous connecter pour publier un commentaire.
S'il vous plaît tester suivantes de SQL Server au Lieu De Déclencher qui vérifie d'abord les détails de la table.
Dans le cas où il y a des données manquantes dans les Détails, il insère la table
Comme deuxième étape, il continuera avec l'insertion dans les Compétences de la table
Pour plus d'exemples sur SQL Server au lieu De déclencher veuillez vous référer à l'exemple donné.
Mais s'il vous plaît noter mes mots, je pense que ça va être une autre conception de conserver les compétences dans un autre master de la table.
Et avant de l'insérer dans les détails, en général, nous vérifions que le maître existe ou pas.
Si votre contrôle, en général pourrait être en cours d'exécution dans le sens inverse.
Les utilisateurs en général insérer des données de base en premier. Dans ce cas, les Compétences des données de la table.
Puis les détails sont peuplées.