创建带约束的Oracle双表时遇错误,求正确SQL写法
正确的Oracle employee表创建语句
错误原因分析
- 第一次报错(ORA-02253):列级约束定义外键时,无需显式指定
FOREIGN KEY关键字;关联表名应为department(而非dep);REFERENCE拼写错误,正确应为REFERENCES。 - 第二次报错(ORA-00907):
CONSTRAIN拼写错误(正确为CONSTRAINT),同时存在REFERENCE拼写错误和表名错误。
正确语句示例
方式1:列级约束写法
CREATE TABLE employee ( eid number CONSTRAINT PKEID PRIMARY KEY, ename varchar2(10), depid varchar2(3) CONSTRAINT FKDEPID REFERENCES department(depid), designation varchar2(10), salary number CHECK (salary > 10000), doj date );
方式2:表级约束写法(适合多列外键或更清晰的约束管理)
CREATE TABLE employee ( eid number CONSTRAINT PKEID PRIMARY KEY, ename varchar2(10), depid varchar2(3), designation varchar2(10), salary number CHECK (salary > 10000), doj date, CONSTRAINT FKDEPID FOREIGN KEY (depid) REFERENCES department(depid) );
内容的提问来源于stack exchange,提问作者Mohammed Arbaz
相关产品推荐
相关产品推荐

