Bonjours,
je crée pour la première fois une base de données.
J'ai deux tables 'STRUCTURES' et 'ADRESSES' avec une clé primaire en auto_increment (ID_STRUCTURE, ID_ADRESSE)
Une 'Structure' a une 'Adresse' et une 'Adresse' appartient à une seul 'Structure', relation 1:1
J'ai une clé étrangère de Structure vers Adresse :
Je souhaite créer une nouvelle structure. J'utilise alors une procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 DELIMITER | CREATE PROCEDURE `AJOUTER_STRUCTURE` (IN inNOM VARCHAR(255), IN inSIRET BIGINT(14), IN inADRESSE VARCHAR(255)) BEGIN -- Ajout de l'adresse INSERT INTO ADRESSES (ADRESSE) VALUES (inADRESSE); SET @ID_ADRESSE := (SELECT ID_ADRESSE FROM ADRESSES WHERE ADRESSE = inADRESSE); -- Ajout de la structure INSERT INTO STRUCTURES (NOM, SIRET, ID_ADRESSE) VALUES (inNOM, inSIRET, @ID_ADRESSE); END| DELIMITER ;
Je suis obliger de passer par un SELECT pour renseigner la clé étrangère de Structures ...
Existe t-il un meilleur moyen pour faire cette insertion ?
Merci.
Partager