ALTER TABLE EMP ADD ( CONSTRAINT CC_NAME CHECK (TRIM(TRANSLATE(UPPER(ename),' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_,.',' ')) is null)) enable novalidate;
不工作10g我得到了
ORA-00905:缺少关键字
请帮帮我 提前致谢
答案 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;