如何解决Oracle Apex中创建表时出现的缺少左括号报错问题
错误根因
- 触发缺少左括号报错的直接原因是
Enabled字段的CHECK约束语法缺失:CHECK关键字后必须紧跟括号包裹的校验规则,你的代码中仅写了CHECK就结束字段定义,不符合Oracle SQL语法要求。 - 额外语法优化建议:Oracle官方不推荐使用
VARCHAR类型,建议统一替换为VARCHAR2避免后续兼容性问题;CreatedAt、UpdatedAt为时间属性字段,使用DATE或TIMESTAMP类型存储比字符串类型更适合后续时间计算、排序等操作。
修正后可正常执行的代码
CREATE TABLE User_T( IdUser NUMBER(10,0) NOT NULL, FirstName VARCHAR2(100) NOT NULL, LastName VARCHAR2(100) NOT NULL, Email VARCHAR2(50) NOT NULL, UserName VARCHAR2(30) NOT NULL UNIQUE, UserPassword VARCHAR2(30) NOT NULL, CreatedAt DATE DEFAULT SYSDATE, -- 可配置默认值自动写入记录创建时间 UpdatedAt DATE, Enabled CHAR(10) CHECK (Enabled IN ('启用', '停用')), -- CHECK后的校验规则可根据你的实际业务需求调整 CONSTRAINT IdUser_PK PRIMARY KEY(IdUser) );
内容的提问来源于stack exchange,提问作者Renzm.6958
相关产品推荐
相关产品推荐

