此博客记录数据库所遇见的错误,之后慢慢添加:
- ORA-00907: 缺失右括号问题:
1)union all中order by 导致缺失右括号
--错误例子:
SELECT * FROM(
SELECT COLUMN_A, COLUMN_B FROM TABLE_EXAMPLE_A ORDER BY COLUMN_A
UNION ALL
SELECT COLUMN_A, COLUMN_B FROM TABLE_EXAMPLE_B ORDER BY COLUMN_A
) A;
2)in (子查询)的用法中,子查询不能使用order by
--错误例子:
SELECT * FROM TABEL_EXAMPLE WHERE ID IN(
SELECT ID FROM TABLE_EXAMPLE WHERE ID > 500 oder byID DESC
);
3)创建表时关键字顺序错
--错误例子:
CREATE TABLE T_EXAMPLE(
ID VARCHAR2 PRIMARY KEY,
T_ID NUMBER(1) NOT NULL DEFAULT 0
);
--正确写法:
CREATE TABLE T_EXAMPLE(
ID VARCHAR2 PRIMARY KEY,
T_ID NUMBER(1) DEFAULT 0 NOT NULL
);
4)创建主外键约束时外键类型跟主键类型不完全一致——*[未验证]