Quel est le problème avec l'ajout LOB à une table Oracle?
-
11-09-2019 - |
Question
Je suis en train de ALTER une table en ajoutant une nouvelle colonne de CLOB (sur Oracle 10), mais il est défaillant. me donner une erreur ORA-01735. Le problème est que je ne trouve pas ce qui en particulier ne va pas avec ma requête par googler autour donc je pensais que je demande ici juste au cas où.
Enfin bref ma requête est:
ALTER TABLE "MYSCHEMA"."MYTABLE" ADD "ACOLUMN" CLOB(2048);
Et l'erreur suivante:
SQL Error: ORA-01735: invalid ALTER TABLE option
01735. 00000 - "invalid ALTER TABLE option"
Toutes les idées?
Merci.
La solution
(si vous voulez spécifier une taille utilisation VARCHAR) Vous ne pouvez pas spécifier une taille pour CLOB:
SQL> alter table t add ("ACOLUMN" CLOB(2048));
alter table t add ("ACOLUMN" CLOB(2048))
ORA-00907: missing right parenthesis
SQL> alter table t add ("ACOLUMN" CLOB);
Table altered
Autres conseils
alter table t add a_column clob;
alter table t add a_column_with_max_size varchar2(1234); --max 4000
Si vous ne voulez plus de 2048 caractères dans cette colonne, ne pas utiliser un CLOB, utilisez VARCHAR2 (2048). VARCHAR2 est bon pour un maximum de 4000 caractères; utilisez uniquement CLOB si vous devrez peut-être plus que cela.