Bonsoir
j'ai un problème avec un trigger
En effet j'ai une base de donnée dans laquelle j'ai deux tables A et B
Avec A (Nom, prenom)
Avec B (Nom, prenom, age, profession)
NB: Nom et prénom est la clé primaire de A et clé étrangère de B
De sortes que si le nom et prénom n'existe pas dans A on ne peut insérer les données dans B
Je voudrais avant insertion des données dans la table B, récupérer Le nom et prénom avec trigger pour remplir A Avant B.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 CREATE TRIGGER TRG_InsertActeur ON A FOR INSERT AS BEGIN DECLARE @Nom_acteur varchar(50) DECLARE @Prenom_acteur varchar(50) SET @Nom_acteur = ( SELECT NOM FROM INSERTED ); SET @Prenom_acteur = ( SELECT PRENOM FROM INSERTED ); BEGIN INSERT INTO B (NOM, PRENOM) values (@Nom_acteur, @Prenom_acteur); END END GO INSERT INTO ACTEUR(Profession,Age, NOM, PRENOM) VALUES ( NULL, '50','Craig', 'Daniel' );
Ce qui met le message d'erreur suivant
Aidez moi à trouver la solution.L'instruction INSERT est en conflit avec la contrainte FOREIGN KEY "clé_étrangère_acteur". Le conflit s'est produit dans la base de données "videoclub", table "dbo.A".
L'instruction a été arrêtée.
Merci
Partager