我正在尝试向Oracle表添加一个列,并检查我要添加的CLOB类型列的JSON。
ALTER TABLE TAB1 (ADD COL_NEW CLOB CONSTRAINT CONS1 (CLOB IS JSON));
ALTER TABLE TAB1 ADD COL_NEW CLOB CONSTRAINT CONS1 (CLOB IS JSON) ;
ALTER TABLE TAB1 ADD COL_NEW CLOB CONSTRAINT CONS1 (CLOB IS JSON);
以上所有内容都失败了:
ERROR execute() failed with: ORA-02253: constraint specification not allowed here
ERROR execute() failed with: ORA-01735: invalid ALTER TABLE option
答案 0 :(得分:4)
语法为constraint <<constraint name>> <<constraint type>> (<<columns>>
。您正在尝试创建检查约束,因此您的约束类型应为check
。您还需要在(<<column name>> is json)
表达式中指定新列的名称,而不是clob
数据类型。所以你想要constraint cons1 check( col_new is json )
ALTER TABLE table_name
ADD( column_name CLOB
CONSTRAINT constraint_name CHECK (column_name IS JSON ));