Pas encore
Jean-Paul Argudo/ = 18 Février, 2005 - 10:36
Bonjour tony31,
Hélas dans PostgreSQL on ne peut pas encore faire cela. Il n'y a pas d'autre solution pour l'instant que de dropper la contrainte et la re-créer par la suite.
Ce n'est même pas dans la TODO List à ce jour... :-/
--
Jean-Paul ARGUDO
www.PostgreSQLFr.org
[ Vous devez
vous connecter pour poster des commentaires ]
RE: Désactiver des contraintes d'intégrité
tony31/ = 18 Février, 2005 - 22:07
Bonjour Jean-Paul Argudo,
merci beaucoup de ta réponse
Tony
[ Vous devez
vous connecter pour poster des commentaires ]
Il y a une possibilité
SAS/ = 21 Février, 2005 - 13:27
Un exemple valant un discours :
test=# create table trig_test (id smallint primary key, chaine char(20) constraint con1 CHECK (id > 100 AND chaine <> ''));
NOTICE: CREATE TABLE / PRIMARY KEY créera un index implicite «trig_test_pkey» pour la table «trig_test»
CREATE TABLE
test=# insert into trig_test values(1,'');
ERREUR: La nouvelle ligne pour la relation «trig_test» viole la contrainte de vérification «con1»
test=# update pg_class set relchecks=0 where relname ='trig_test';
UPDATE 1
test=# insert into trig_test values(1,'');
INSERT 18288 1
test=# update pg_class set relchecks=1 where relname ='trig_test';
UPDATE 1
test=# insert into trig_test values(1,'');
ERREUR: La nouvelle ligne pour la relation «trig_test» viole la contrainte de vérification «con1»
Petite explication :
Je crée une table contenant une contrainte sur les colonnes 'id' et 'chaine'.
Lors de la première insertion, je tente d'insérer des valeurs interdites et une chaine vide. Cette iinsertion est normalement refusée.
En modifiant la valeur de relchecks dans la table pg_class, je dévalide les contraintes sur la table.
Je peux faire mon insertion.
Les contraintes sont revalidées par la mise à 1 de la valeur de la colonne relchecks.
Cela permet de dévalider les contraintes sur la table. Je n'ai pas encore chercher plus loin la possibilité de dévalider une seule contrainte. Mais comme le dit jpa, elle peut être supprimée et recrée aisément.
Stéphane Schildknecht
[ Vous devez
vous connecter pour poster des commentaires ]
RE :RE
tony31/ = 16 Mars, 2005 - 19:48
merci bcp Stéphane Schildknecht
Tony
[ Vous devez
vous connecter pour poster des commentaires ]