Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 15/02/2006, 21h16   #1
 
Inscription : février 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 8
Points : -4
Points : -4
Par défaut Modification de la date d'une table possible après une MAJ?

Bonjour tlm


j'utilise INTERBASE depuis peu et j'utilise un script pour mettre à jour ma base BDD. Mon problème c'est que j'ai passé un mauvais script et j'aimerais savoir si il était possible de faire marche arrière en utilisant les commandes INTERBASE. J'aimerais aussi savoir comment on peut modifier la date de mise à jour d'une table (cherchez pas pourquoi ) et si on peut le faire, les impacts que celà aura sur la BDD

Merci de vos (futurs) réponses
theseriallooser est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2006, 23h03   #2
Membre régulier
 
Inscription : décembre 2004
Messages : 142
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 142
Points : 76
Points : 76
Salut,

Citation:
j'aimerais savoir si il était possible de faire marche arrière en utilisant les commandes INTERBASE
Plusieurs solutions :

La meilleure :

1- Sauvegarde/Restoration
a- Effectuer une sauvegarde de la base (par IBconsole ou autre)
b- Passer le script
c- Effectuer une restoration (ce qui remet la BDD dans l'état précédent)

Mais, en ce qui te concerne, il semble que cela soit trop tard
Conclusion : faire des sauvegardes avant chaque modif importante (entre autre)

2- Défaire les modifs

Ca signifie que tu sais exactement ce qui doit être touché.

DROP TABLE pour effacer les tables :
les triggers sont détruits mais pas les générateurs : dans ce cas, "se les palucher" :

DELETE FROM RDB$GENERATORS WHERE RDB$GENERATOR_NAME = 'MON_GENERATEUR'

Si tu veux remettre à 1 la valeur d'1 générateur :
SET GENERATOR MON_GENERATEUR TO 1

DROP TRIGGER si seulement effacer les triggers associés aux tables
DROP INDEX
DROP PROCEDURE etc...

et bien sûr, on peut toujours faire des ALTER TABLE, DROP Colonne, ADD colonne

3- Effacer la BDD et la reconstruire

C'est radical ! On ne peut faire ce genre de manip que pour une base dont on vient de définir le schéma (càd qu'il n'y a pas de données) ou pour une base dont on peut regénérer sans problème toutes les données.

Citation:
J'aimerais aussi savoir comment on peut modifier la date de mise à jour d'une table
Je n'ai pas bien compris ta question. C'est quoi la date de mise à jour d'une table ? Veux-tu parler de la date de mise à jour d'une ligne d'1 table ?

Dans ce cas, si tu as une table du type :
Code :
1
2
 
TABLE1(ID_TABLE1, ZONE-1, ZONE-2, ... DATE_MISE_A_JOUR)
Tu peux faire :
Code :
1
2
3
4
 
UPDATE TABLE1
SET DATE_MISE_A_JOUR = NouvelleDate
WHERE DATE_MISE_A_JOUR = AncienneDate
Les conséquences ? J'en sais rien. A toi de le mesurer : c'est du fonctionnel, non ?

A+
Vulcanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h41.


 
 
 
 
Partenaires

Hébergement Web