Question concernant une requet SQL

developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 30 juin 2005 à 21:23
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 6 juil. 2005 à 19:48
Bonjour tout le monde

Est il possible de mêttre deux insert into dans une même requet.

Exemple:

insert into tbl_A..............................

insert into tbl_b.................................

mercie

Cordialement

A bientôt

13 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
2 juil. 2005 à 00:39
Salut,



Ce n'est pas possible de la maniere que tu veux.



Il faut passer par les transactions.



BEGIN TRANSACTION



INSERT ..........................;

INSERT .........................;



COMMIT TRANSACTION (si success) Avant la gestion des exceptions



ROLLBACK TRANSACTION (si echec) placer dans des GOTO error (transact sql <= 2005 ou vb)

placer dans le catch des exceptions dans des langages type .net, java ou transact SQL 2005 ?



La gestion par les exceptions permet de rendre atomique la modification d'une base



Si il y a une erreur --> pas de sauvegarde en base.



Exemple

Gestion de stock

Si un client commande

--> Creation ligne commande

--> Diminution stock



Il annule car sa carte ne fonctionne

--> Rien n'est modifie les données retourne à l'etat d'origine



Voila



Un petit réponse accepté si la réponse correspond ne fait pas de mal ;-)
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
3 juil. 2005 à 09:06
Bonjour tout le monde

Voici ce que j'ai fai:

$liendb = mysql_connect("sql.free.fr","login","mot de passe");


mysql_select_db('v_debailleul') or die(mysql_error());

BEGIN TRANSACTION

mysql_query("INSERT INTO tbl_message_recu (civilite,nom,prenom,objet,email,message) VALUES ('".$_POST['civilite']."','".$_POST['nom']."','".$_post['prenom']."','".$_POST['email']."','".$_POST['objet']."','".$_POST['message']."')") or die(mysql_error());

mysql_query("INSERT INTO tbl_messagerie(civilite,nom,objet,email) VALUES ('".$_POST['civilite']."','".$_POST['nom']."','".$_POST['objet']."','".$_POST['email']."')") or die(mysql_error());

mysql_close();

Il n'ya pas la commande BEGIN TRANSACTION dans mon livre.

Y a t'il un erreur svp?

Merci de votre aide

Cordialement

A bientôt
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
3 juil. 2005 à 09:31
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
3 juil. 2005 à 09:39
Rebonjour

On parle de tout les langages sur ce site?

Mercie

Cordialement

A bientôt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 juil. 2005 à 11:59
Salut,



Je ne comprends pas ta remarque.

Bien sur on toi parler tout les lanages sur ce site.



Mais le SQL est un peu particulier, car le lanagage est spécifique a chaque base de données. + d'une centaine sur le marché)

Et elles sont attaquable direment ( pas toujours possible ou via un langage de au niveau (+ de 100 aussi)

et donc c'est compliqué de répondre au question si les deux éléments présents ne sont pas renseigné

--> environ 10000 combinaions possibles ( bon on peut limités le
choix à 30 couples (plus utilisé mais c'est déjà énorme pour répondre à
une question)



En plus dans certins langages la methode d'access au données varient en fonction du temps

EX VB RDO, JDO,DAO,ADO (ADO.NET la c'est un langage différent c'est du vb.NET et non du VB)



Si tu me balances un exemple en PHP, j'essaye de répondre en PHP ???





Bonne continuation.



Et bonne programmation
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
4 juil. 2005 à 20:11
Bonsoir tout le monde

Je parlai du site

http://www.nexen.net/docs/php/annotee/function.mysqli-rollback.php

Cordialement

A bientôt
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 juil. 2005 à 21:43
Excuse moi.



J'ai du mal comprendre ta question(mal posée ???).



Le sqite nexen est un site de reference en PHP mysql au niveau fracophone.

Quand j'ai fait du PHP vers 1998-99, toute la doc traduite était la.

Il y a un peux de postgres maintenant je crois.



Mais que du PHP



voila
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
5 juil. 2005 à 06:25
Bonjour tout le monde

Mai moi mon probleme vien bien d'une requet SQL.

Cordialement

A bientôt
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
5 juil. 2005 à 10:12
Salut



c'est pas Possible de mettre deux insert dans une ligne

Dela maniere que tu veux faire.



Dans le SQL il y a q'un insert par ordre

Tu peux mettre des select dedans l'ordre insert si tu veux.



Un Ordre insert travaille sur une seule table.



Il est possible d'insérer plusieurs lignes en meme temps (je crois)

en jouant sur la clause Select de la source.



Essaie de regardé de ce coté (il faut joué avec les as pour renommé lescolonnes souvent)
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
6 juil. 2005 à 07:28
Bonjour tout le monde

Je n'ai pas compris ce que tu m'as repondu.

Cordialement

A bientôt
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 juil. 2005 à 17:03
mysql_query("BEGIN ...");



en php, pour parler à son serveur, il faut utiliser mysql_query...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 juil. 2005 à 17:04
sinon, simple question, cela ne fonctionne qu'avec les tables innodb en mysql non ?

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
6 juil. 2005 à 19:48
Bonsoir tout le monde

Je ne peux pas te répondre coucou747 .

Je débute seulement le SQL

Cordialement

A bientôt
0
Rejoignez-nous