SQL: SQLCODE -638

syncerastum -  
 syncerastum -
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

A voir également:

2 réponses

syncerastum
 
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
syncerastum
 
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