INSERT dans 2 tables
TexTwil
Messages postés
300
Statut
Membre
-
TexTwil Messages postés 300 Statut Membre -
TexTwil Messages postés 300 Statut Membre -
Bonjour,
je développe une application web J2EE et ma base de données est INFORMIX (9.3 je crois).
J'ai une petite question de SQL. Voilà: j'ai, entre autres, deux tables:
DIRECTEURS(num_dir(PK), nom, prenom, tel, mail ... , id_utilisateur(FK)
et
UTILISATEUR(id_utilisateur(PK), login, passwd, profil)
Comme vous l'aurez compris, l'id de l'UTILISATEUR est une foreign key de
la table DIRECTEUR et donc se retrouve dans cette table.
Les identifiants des deux tables sont du type SERIAL, c'est à dire un int qui s'auto-incrémente et qu'on a donc pas besoin de renseigner pdt un INSERT.
Pendant l'inscription dans l'appli le directeur saisit ses infos + login
et mot de passe. On ecrit donc dans les deux tables. Comment il faut faire l'INSERT pour garder la cohérence entre les deux enregistrements, c'est à dire pour associer le bon FK dans la table DIRECTEURS ? C'est pas une histoire de procédure SQL ?
Je précise aussi que je suis en environement Java donc je peux utiliser les API et notament java.sql.
N'y a t-il pas une fonction du genre executeInsert(query) qui renvoie un entier correspondant au SERIAL de la table qui s'est auto incrémenté ?
Je demande car les délais de livraison de l'application sont proches et g bcp d'autres pbs à résoudre :-)
merci pour votre aide.
Si je trouve je vous fais savoir.
bye
Si je trouve une solution
merci bien
Tex
je développe une application web J2EE et ma base de données est INFORMIX (9.3 je crois).
J'ai une petite question de SQL. Voilà: j'ai, entre autres, deux tables:
DIRECTEURS(num_dir(PK), nom, prenom, tel, mail ... , id_utilisateur(FK)
et
UTILISATEUR(id_utilisateur(PK), login, passwd, profil)
Comme vous l'aurez compris, l'id de l'UTILISATEUR est une foreign key de
la table DIRECTEUR et donc se retrouve dans cette table.
Les identifiants des deux tables sont du type SERIAL, c'est à dire un int qui s'auto-incrémente et qu'on a donc pas besoin de renseigner pdt un INSERT.
Pendant l'inscription dans l'appli le directeur saisit ses infos + login
et mot de passe. On ecrit donc dans les deux tables. Comment il faut faire l'INSERT pour garder la cohérence entre les deux enregistrements, c'est à dire pour associer le bon FK dans la table DIRECTEURS ? C'est pas une histoire de procédure SQL ?
Je précise aussi que je suis en environement Java donc je peux utiliser les API et notament java.sql.
N'y a t-il pas une fonction du genre executeInsert(query) qui renvoie un entier correspondant au SERIAL de la table qui s'est auto incrémenté ?
Je demande car les délais de livraison de l'application sont proches et g bcp d'autres pbs à résoudre :-)
merci pour votre aide.
Si je trouve je vous fais savoir.
bye
Si je trouve une solution
merci bien
Tex
A voir également:
- INSERT dans 2 tables
- Supercopier 2 - Télécharger - Gestion de fichiers
- Touche insert - Guide
- Tables des matières word - Guide
- Disk boot failure insert system disk and press enter - Guide
- 2 ecran pc - Guide
1 réponse
tu inseres d'abord ds Directeurs et s'il n'ya pas de methodes qui te retourne le numero de l'enregistrement nouvellement inscrit, eh ben tu fais une autre requete ou tu recuperes le dernier enregistrement et ensuite tu fais ton insert ds la table Utilisateurs.
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
Ca ne merche pas car l'application va être utilisé par des disaines (voir centaines) d'utilisateurs à la fois. Donc il faut récuperer le n° de la ligne qu'on vient d'inserer et non pas la derniere insérée.
je pense avoir trouvé:
http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/statement.html
Tex