Oracle APEX创建Request_NA数据表时出现随机问题求助
Oracle APEX建表报错问题排查
核心报错原因
- 语法错误:两个外键约束定义之间缺少逗号分隔,
FOREIGN KEY (Student_ID) REFERENCES Students_NA(Student_ID)语句末尾未加逗号,直接导致SQL解析失败,触发建表报错 - 潜在拼写问题:字段名存在拼写错误,会影响后续业务使用:
Permanet_Withdrawal拼写错误,正确应为Permanent_WithdrawalRentention_Form拼写错误,正确应为Retention_Form
- 非强制优化点:Oracle官方推荐使用
VARCHAR2替代VARCHAR类型,避免后续版本兼容问题;主键字段自带非空约束,Request_ID后的Not Null可省略
修正后的建表SQL语句
CREATE TABLE Request_NA( Request_ID Number(8) Primary Key, Student_ID Number(8) Not Null, Staff_ID Number(8) Not Null, Temporary_Withdrawal Char(3) Not Null, Permanent_Withdrawal Char(3) Not Null, Request_Date Date Not Null, Data_Form Varchar2(15) Not Null, Necessary_Interventions Char(3) Not Null, Retention_Form Varchar2(15) Not Null, Student_Extension Char(3) Not Null, CourseLead_Signature Varchar2(10) Not Null, Meeting_Attended Char(3) Not Null, Student_Signature Varchar2(10) Not Null, Last_Date_Attendance Date Not Null, Return_Date Date Not Null, FOREIGN KEY (Student_ID) REFERENCES Students_NA(Student_ID), FOREIGN KEY (Staff_ID) REFERENCES Staff_NA(Staff_ID) );
执行前校验项
- 确认
Students_NA、Staff_NA两张父表已存在,且父表中Student_ID、Staff_ID字段的类型、长度与本表定义完全一致 - 确认当前操作账号拥有
CREATE TABLE权限,以及对两张父表的引用权限
内容的提问来源于stack exchange,提问作者Naveed Ajmal
相关产品推荐
相关产品推荐

