SQL: SQLCODE -638

Fermé
syncerastum - 9 déc. 2010 à 12:05
 syncerastum - 9 déc. 2010 à 16:13
Bonjour,


SQL:
j'ai une table Y qui as un champ X qui lui contien deux valeur 'oui' et 'non'.
je veut ajouter la valeur 'peut etre'
mon code est le suivant:

alter Y
MODIFY X varchar(10)
check (X in ('oui','non','peut etre'));


une erreur s'affice:

Error constant SQLE_STRING_RIGHT_TRUNCATION
ODBC 2 State 22001
ODBC 3 State 22001
Severity 16
SQLCODE -638
SQLSTATE 22001
Sybase error code 9502

2 réponses

jai trouver sur internet ca:

Modification de colonnes

Associée avec la clause MODIFY, la clause ALTER permet la modification du type de données d'une colonne. La syntaxe est la suivante :

ALTER TABLE Nom_de_la_table
MODIFY Nom_de_la_colonne Type_de_donnees

Sous Access 2000, la syntaxe est la suivante :

ALTER TABLE Nom_de_la_table
ALTER COLUMN Nom_de_la_colonne Type_de_donnees

donc ca me prouve (je pense) que je suis sur la bonne voix, mais ce que je veut ce n'est pas changer le type de la colone mais sont contenut c pour ca que jai ajouter la ligne de code "check (X in ('oui','non','peut etre')); "
0
voici la solution qui a marcher pour moi


ALTER TABLE LEISTDETAIL
modify LEISTDETAIL_MELDESTATUS CONSTRAINT CKC_LEISTDETAIL_MELDE_LEISTDET CHECK(LEISTDETAIL_MELDESTATUS in ('im Bestand','nicht übermittelt','unbestimmt'));
0