IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Ajouter la contrainte NOT NULL a une colone [Firebird 1.5]


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 139
    Points : 86
    Points
    86
    Par défaut Ajouter la contrainte NOT NULL a une colone [Firebird 1.5]
    SGBD : Firebird 1.5

    Salut, je transfert mon appli qui tourne sous paradox vers une bdd firebird 1.5, or lors du transfert toutes mes tables on perdu leur clé primaire.
    Donc j'ai crée un petit module qui rajoute les clé primaire
    alter table client add primary key(CLI_ID);
    Le probleme est qu'il refuse si ma colone n'est pas en NOT NULL (ce qui est logique). Alors ma question est la suivante, est ce qu'il est possible avec une requete SQL d'ajouter la contrainte NOT NULL sans cree la table (puisqu'elles existent dejà).

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Aucune clé primaire ne peux accepter les valeurs nulles.
    En outre, L'ordre ALTER sur une table permet de :

    supprimer une colonne
    supprimer une contrainte
    ajouter une colonne
    ajouter une contrainte
    ajouter une contrainte de ligne DEFAULT

    Il ne permet pas de :
    changer le nom d'une colonne
    changer le type d'une colonne
    ajouter une contrainte de ligne NULL / NOT NULL

    Pour plus de renseignement lisez ceci.

    A faire :
    Recréer les tables avec toutes les contraintes avant importation des données !
    Et oui c'est le prix à payer.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 139
    Points : 86
    Points
    86
    Par défaut
    Merci , j'avais deja lu ce tutoriel, mais justement je n'avais pas trouvé mon bonheur.
    En fait j'ai trouvé un peu par hasard, pour ceux que ca interesse j'ai transformé ma colone dans ibexpert et j'ai fait un copier coller du changement dans ma requete sql.
    Ca donne ceci :
    update RDB$RELATION_FIELDS set
    RDB$NULL_FLAG = 1
    where (RDB$FIELD_NAME = 'CLI_ID') and
    (RDB$RELATION_NAME = 'CLIENT')
    voila, le NULL_FLAG = 1 pour NOT NULL et NULL_FLAG = NULL pour NULL

    Merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/10/2011, 09h57
  2. Ajouter la contrainte NOT NULL en utilisant ALTER TABLE
    Par la_poupee_irradiee dans le forum Développement
    Réponses: 4
    Dernier message: 23/06/2009, 22h21
  3. Alter table pour l'ajout de contrainte not null
    Par jean sami dans le forum SQL
    Réponses: 6
    Dernier message: 18/09/2008, 17h42
  4. Ajouter une contrainte NOT NULL à une colonne
    Par abdelghani_k dans le forum Firebird
    Réponses: 1
    Dernier message: 03/06/2007, 16h26
  5. Retirer le 'not null' d'une colonne
    Par Sherlockness dans le forum SQL
    Réponses: 6
    Dernier message: 25/01/2007, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo