Bonjour, comment puis initialisé un attribut de type smallint à une valeur "zéro parv exemple" ?
Merci
Version imprimable
Bonjour, comment puis initialisé un attribut de type smallint à une valeur "zéro parv exemple" ?
Merci
Bonjour,
A la création d'une table je suppose...
++Code:
1
2
3
4
5 CREATE TABLE test ( .... champ SMALLINT NULL DEFAULT 0 )
Bonjour,
Pour ma part je préfère :
Si on met une contrainte de valeur par défaut, alors la colonne ne doit pas pouvoir prendre la valeur NULL.Code:
1
2
3
4
5 CREATE TABLE test ( ... colonne SMALLINT NOT NULL CONSTRAINT DF_test_colonne DEFAULT 0 )
Le fait de nommer la contrainte permet de la retrouver facilement lorsque celle-ci est violée.
Enfin une table ne contient pas :
- des champs | fields, mais des colonnes
- des enregistrements | records, mais des lignes.
@++ ;)
merci pour vos réponses, mais si ma table est déjà crée comment puis je altérer ce champs ?
@++ ;)Code:
1
2 ALTER TABLE maTable ADD CONSTRAINT DF_maTable_maColonne DEFAULT 0 FOR maColonne
oui j'ai fait comme ca, la requette a réussie mais j'ai je trouve la valeur NULL dans la colonne :?
Bonsoir,
Poser une contrainte de valeur par défaut n'implique pas que la colonne ne peut pas comprendre NULL.
Si vous souhaitez empêcher que votre colonne puisse contenir NULL, en posant en plus votre contrainte, vous devez écrire :
Comme vous avez déjà posé votre contrainte, il vous suffit d'exécuter seulement :Code:
1
2 ALTER TABLE maTable ALTER COLUMN maColonne monType NOT NULL CONSTRAINT DF_maTable_maColonne DEFAUT 0
La contrainte demeurera. Cette commande peut lever une exception si votre colonne contient des NULL.Code:
1
2 ALTER TABLE maTable ALTER COLUMN maColonne monType NOT NULL
A vous de voir par quoi vous voulez les remplacer :
@++ ;)Code:
1
2
3 UPDATE maTable SET maColonne = uneValeur --(0 ?) WHERE maColonne IS NULL
j'ai essayé il me ditCode:
1
2 Msg*156, Niveau*15, État*1, Ligne*3 Syntaxe incorrecte vers le mot clé 'CONSTRAINT'.
Bonjour,
Effectivement vous devez faire cela en deux étapes :
@++ ;)Code:
1
2
3
4
5 ALTER TABLE maTable ALTER COLUMN maColonne INT NOT NULL ALTER TABLE maTable ADD CONSTRAINT DF_maTable_maColonne DEFAULT 0 FOR maColonne
ok c'est bon merciiiiiiiiiiiii :D