J'ai le schéma suivant db.La meilleure façon de mettre à jour dans un db une liste de mails
SQL> describe USERS;
Name Null? Type
----------------------------------------- -------- ----------------------------
user_id NOT NULL NUMBER(38)
name NOT NULL VARCHAR2(50)
password NOT NULL VARCHAR2(50)
score NUMBER(38)
notify_before_expiration NUMBER(38)
is_admin NOT NULL NUMBER(1)
SQL> describe EMAIL;
Name Null? Type
----------------------------------------- -------- ----------------------------
email_id NOT NULL NUMBER(38)
email NOT NULL VARCHAR2(50)
user_id NOT NULL NUMBER(38)
Donc, un utilisateur a beaucoup de courriels. Les utilisateurs peuvent accéder à un formulaire dans lequel ils peuvent ajouter/supprimer leur adresse e-mail. La question est: Quelle est la meilleure façon de mettre à jour le db ayant la liste des mails obtenus à partir de ce formulaire?
Je pensais quelque chose comme: (code java pseudo)
//List of mails in db.
ArrayList<String> emailsInDB = getAllMailsFromDB(user);
//List of mails from the form
ArrayList<String> emailsInForm = form.getAllMails();
//Iterates all emails gotten from the form.
for (String email : emailsInForm) {
if (emailsInDB.contains(email) {
//Already in the db
emailsInDB.remove(email, user);
} else {
//New mail! Add it in the db!
db.insertMail(email, user);
}
//All emails that were in the db, but not in the form,
//were deleted. Delete them from the db.
for (String email : emailsInDB) {
db.deleteMail(email);
}
meilleures idées sont les bienvenues! Merci d'avoir lu.
J'ai fini par faire quelque chose de similaire. merci. – Macarse