启用无效

时间:2017-07-31 06:59:41

标签: sql oracle

ALTER TABLE EMP ADD ( CONSTRAINT CC_NAME CHECK (TRIM(TRANSLATE(UPPER(ename),' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_,.',' ')) is null)) enable novalidate;

不工作10g我得到了

  

ORA-00905:缺少关键字

请帮帮我 提前致谢

2 个答案:

答案 0 :(得分:1)

ADD之后删除括号(如果您只想添加一个CONSTRAINT):

ALTER TABLE EMP 
ADD CONSTRAINT CC_NAME CHECK (TRIM(TRANSLATE(UPPER(ename),' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_,.',' ')) is null) 
enable novalidate;

更多信息ALTER TABLE

修改

如果您想一次添加更多约束,请使用:

ALTER TABLE table_name
ADD  (
     CONSTRAINT constraint_1_name CHECK (your_condition)
    ,CONSTRAINT constraint_2_name CHECK (your_condition_2)
    ...
     )

答案 1 :(得分:0)

add子句没有括号。删除它们你应该没问题。

ALTER TABLE emp ADD CONSTRAINT CC_NAME 
-- "(" removed here-^
CHECK (TRIM(TRANSLATE(UPPER(ename), ' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_,.',' ')) IS NULL)
-- ")" removed here---------------------------------------------------------------^
ENABLE NOVALIDATE;