Je suis débutant en SQL, et je n'arrive pas à trouver la requête qui me permet de désactiver l'option "not null" d'un champs.
merci de m'aider :
Je suis débutant en SQL, et je n'arrive pas à trouver la requête qui me permet de désactiver l'option "not null" d'un champs.
merci de m'aider :
On ne peux le faire avec un alter table... il faut passer par les tables systemes d'interbase.
Et donc c'est à utiliser avec précaution surtout s'il sagit d'une colonne indexée, ou clé étrangère etc...
Pour que NOM_COLONNE accepte d'être null :
Pour que NOM_COLONNE n'accepte pas d'être null :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 update RDB$RELATION_FIELDS set RDB$NULL_FLAG = NULL where (RDB$FIELD_NAME = 'NOM_COLONNE') and (RDB$RELATION_NAME = 'NOM_TABLE')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 update RDB$RELATION_FIELDS set RDB$NULL_FLAG = 1 where (RDB$FIELD_NAME = 'NOM_COLONNE') and (RDB$RELATION_NAME = 'NOM_TABLE')
merci encore, cette requête, j'aurais pas pu l'inventer.
SUPER ce forum !
ta requete a bien ete acceptée, mous quand je vais voir la table sous IBconsole, rien ne semble changé, mes champs sont toujours a not null !
1-Tu as quel version d'interbase
2-Tu n'as pas eut de messages d'erreur lors de l'update ?
3-Tu as bien fait commit de l'update ?
j'ai interbase 6
je n'ai pas de message d'erreur lors de l'envoi de requête
j'ai bien fait commit
bizarre non ?, ne devrais-je pas detruire mes colonnes et les recréer ?
Ces colonnes ne sont pas liés à d'autres objets ? (Index, clé etrangères etc ??)
Sinon détruit et recrée tes colonnes (s'il n'y a pas de données dedans sinon renomme ta colonne, crée la nouvelle colonne, copie dedans les données puis détruit la colonne renommée)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager