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 26/01/2005, 12h21   #1
Membre habitué
 
Inscription : mars 2002
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 119
Points : 100
Points : 100
Par défaut [Interbase] Mettre une contrainte sur un champ

J'ai récupére une base bon_livraison qui n'a pas de primary key de déclaré.

client_bl char(13)
num_bl integer

J'aimerais ajouter
client_bl not null, num_bl not null et aprés crée la primary key

J'utilise le code suivant

Code :
 ALTER TABLE BON_LIVRAISON ADD CONSTRAINT Client_bl NOT NULL
ça marche pas erreur sur le NOT

QUe faire ?
mika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2005, 12h49   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Par défaut Re: [Interbase] Mettre une contrainte sur un champ

Assurez vous qu'il n'y a pas de null dans vos deux colonnes puis exécutez ceci :

Code :
1
2
3
4
UPDATE RDB$RELATION_FIELDS SET
RDB$NULL_FLAG = 1
WHERE (RDB$FIELD_NAME = 'CLIENT_BL') AND
(RDB$RELATION_NAME = 'BON_LIVRAISON')
Code :
1
2
3
4
UPDATE RDB$RELATION_FIELDS SET
RDB$NULL_FLAG = 1
WHERE (RDB$FIELD_NAME = NUM_BL') and
(RDB$RELATION_NAME = 'BON_LIVRAISON')
C'est le seul moyen de changer une contrainte NULL en NOT NULL.
Sinon il faut créer une colonne supplémentaire not null, recopier les données dedans, supprimer la colonne NULL et renommer la colonne not null. (c'est plus long...)
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2005, 14h04   #3
Membre habitué
 
Inscription : mars 2002
Messages : 119
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 119
Points : 100
Points : 100
Merci je vais le tester ce soir.
mika 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 23h50.


 
 
 
 
Partenaires

Hébergement Web