Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/09/2006, 10h19   #1
Membre habitué
 
Inscription : mai 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 208
Points : 104
Points : 104
Envoyer un message via AIM à Romalafrite Envoyer un message via MSN à Romalafrite
Par défaut [Conception] Déplacer un enregistrement vers une table identique

Bonjour,

Je dois faire un script qui permet de transférer des factures.

Il me vient donc logiquement à l'esprit de faire un INSERT complet et un DELETE si l'INSERT s'est bien passé.

Mais comme les deux tables sont identiques, n'y a-t-il pas un moyen de faire un vrai "déplacer" avec une façon raccourcie ? un truc qui fasse le tout en une requête ?

Merci de votre aide,

Romain
Romalafrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 10h23   #2
Membre éclairé
 
Avatar de Joe Le Mort
 
Inscription : avril 2006
Messages : 392
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 392
Points : 361
Points : 361
Envoyer un message via MSN à Joe Le Mort
Tu devrais faire une procédure qui s'exécute tous les jours, semaines mois par exmple.

dans cette procedure,tu créé une table qui est le sosie de ta table.
tu fais un insert a partir du select * de ta table.
tu delete ta table.

fin de la procedure !
Joe Le Mort est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 10h31   #3
Membre habitué
 
Inscription : mai 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 208
Points : 104
Points : 104
Envoyer un message via AIM à Romalafrite Envoyer un message via MSN à Romalafrite
Citation:
Envoyé par Joe Le Mort
Tu devrais faire une procédure qui s'exécute tous les jours, semaines mois par exmple.

dans cette procedure,tu créé une table qui est le sosie de ta table.
tu fais un insert a partir du select * de ta table.
tu delete ta table.

fin de la procedure !
oulah, c'est pas du tout ça que je demande.

Le fait est que j'ai trois (et bientôt plus) sites qui font des facturations sur mon serveur. Je suis en train de faire un script qui récapitule les factures de tous les sites.

Pour simplifier la compta, je dois pouvoir déplacer pour des raisons comptables les factures d'une base à une autre, l'équivalent d'un INSERT, DELETE et pas DROP TABLE lol car je dois pouvoir continuer à facturer sur les autres sites pendant ce temps

[edit]J'allais oublier, je fais un select (avec des checkbox) des entrées de la table que je veux déplacer en plus de ça :p[/edit]
Romalafrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 10h36   #4
Membre éclairé
 
Avatar de Joe Le Mort
 
Inscription : avril 2006
Messages : 392
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 392
Points : 361
Points : 361
Envoyer un message via MSN à Joe Le Mort
dans ce cas tu récuperes toutes les lignes a partr de leur ID, tu créés la table copie, et tu fais un insert into.... a partir du select * wher ID in ().... a partir de ta liste d'ID !
Apres tu fais ton delete from...where ID in (...,...) a partir de ta liste d'ID coché !


voila
Joe Le Mort est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 10h50   #5
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Salut
Non, tu n'as pas d'autre alternative que d'utiliser 2 requêtes distinctes dans ton cas précis.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 10h55   #6
Membre habitué
 
Inscription : mai 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 208
Points : 104
Points : 104
Envoyer un message via AIM à Romalafrite Envoyer un message via MSN à Romalafrite
Citation:
Envoyé par alain31tl
Salut
Non, tu n'as pas d'autre alternative que d'utiliser 2 requêtes distinctes dans ton cas précis.
ok c'est tout ce que je voulais savoir,

merci à vous deux
Romalafrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h19.


 
 
 
 
Partenaires

Hébergement Web