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

SQL Firebird Discussion :

[SQL] supprimer le "not null" à un type


Sujet :

SQL Firebird

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 38
    Points : 18
    Points
    18
    Par défaut [SQL] supprimer le "not null" à un type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    create table Emprunts (
    EMT_Num              INTEGER                         not null,
    OUI_Num              INTEGER,
    OUC_Num              INTEGER,
    PER_Num              INTEGER                         not null,
    EMT_DateEmprunt      DATE                            not null,
    EMT_DateRestitution  DATE                            not null,
    constraint PK_EMPRUNTS primary key (EMT_Num)
    );
    J'ai créé une table "Emprunts" sur Interbase est je voudrais juste supprimer le "not null" du type "DATE" de "EMT_DateRestitution".
    Quelqu'un peut me dire le code?

    Je sais que c'est ALTER EMPRUNTS mais après?

  2. #2
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Points : 84
    Points
    84
    Par défaut
    De mémoire,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       ALTER EMPRUNTS
       MODIFY EMT_DateRestitution DATE
    Je crois qu'en ne mettant pas de not null, il va s'enlever.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par Dihap
    De mémoire,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       ALTER EMPRUNTS
       MODIFY EMT_DateRestitution DATE
    Je crois qu'en ne mettant pas de not null, il va s'enlever.
    Cela ne marche pas j'ai un message d'erreur mais avec Interbase est-ce pas plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE EMPRUNTS
    UPDATE EMT_DATERESTITUTION  DATE;
    ?

  4. #4
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Points : 84
    Points
    84
    Par défaut
    Désolé j'ai oublié un mot clé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE EMPRUNTS 
    MODIFY EMT_DateRestitution DATE
    C'est bien modify qu'il faut utiliser. Update c'est pour les mise-à-jour des données et non pas de la table.

    Si ça ne fonctionne pas, dis nous le message d'erreur.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    Voici le code que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE EMPRUNTS
    MODIFY EMT_DATERESTITUTION  DATE;
    Voici l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 2, char -1
    MODIFY
    Statement: ALTER TABLE EMPRUNTS
    MODIFY EMT_DATERESTITUTION DATE

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    Jai essayé aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE EMPRUNTS
    DROP EMT_DATERESTITUTION  DATE                            not null,
    ADD EMT_DATERESTITUTION  DATE;
    et...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 2, char 25
    DATE
    Statement: ALTER TABLE EMPRUNTS
    DROP EMT_DATERESTITUTION DATE              not null,
    ADD EMT_DATERESTITUTION DATE

  7. #7
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Points : 84
    Points
    84
    Par défaut
    Pendant que j'y pense, je ne sais pas si on peut changer mettre un champ non-nul en un champ nul.

    PAr contre, il serait possible, je crois, de le faire avec les informations des tables.

    Quelquechose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    update RDB$RELATION_FIELDS set RDB$NULL_FLAG = NULL
    where (RDB$FIELD_NAME = 'EMT_DATERESTITUTION') and (RDB$RELATION_NAME = 'EMPRUNTS');

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par Dihap
    Pendant que j'y pense, je ne sais pas si on peut changer mettre un champ non-nul en un champ nul.

    PAr contre, il serait possible, je crois, de le faire avec les informations des tables.

    Quelquechose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    update RDB$RELATION_FIELDS set RDB$NULL_FLAG = NULL
    where (RDB$FIELD_NAME = 'EMT_DATERESTITUTION') and (RDB$RELATION_NAME = 'EMPRUNTS');
    Mais je n'ai pas d'information dans les tables, enfin, j'en ai qu'une seule d'information mais je peux l'effacer... Et je comprends pas ce que fait ton code. Es-ce que cela va m'enlever le NOT NULL?

  9. #9
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Points : 84
    Points
    84
    Par défaut
    Interbase contient des tables qui contient pleins d'informations. Tu peux savoir les tables, les champs, etc.

    On peut y accéder avec RDB$ + un nom.

    De mémoire, il n'y a pas de drop Generator, alors c'est une façon de se débarraser d'un générateur.

    Pour ces tables, tu peux les voir. Regarde dans les options, je ne me rappelle plus c'est laquelle au juste.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 38
    Points : 18
    Points
    18
    Par défaut
    J'ai installé IB Expert et en un clic j'ai pu enlever mon "NOT NULL".

    Effectivement j'ai pu voir le code généré par IB Expert et c'est bien ce que tu ma montré Dihap!

    Merci pour tes nombreuses réponses et rapides!

    A plus!

  11. #11
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 70
    Points : 84
    Points
    84
    Par défaut
    Ça fait paisir

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

Discussions similaires

  1. [SQL] Supprimer une ligne en fonction d'un type de champs
    Par Aspic dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 10/07/2007, 16h28
  2. Sql serveur 2000 Changer null/not null et valeur par defaut
    Par mictif dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/03/2006, 07h55
  3. [debutant]sql serveur et not null?
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/11/2004, 16h21
  4. sql dynamic : passage de parametre entre quotes
    Par de LANFRANCHI dans le forum SQL
    Réponses: 12
    Dernier message: 26/05/2004, 15h09

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