[20230508]ORA-00907 missing right parenthesis.txt

lfree發表於2023-05-08

[20230508]ORA-00907 missing right parenthesis.txt

--//連結 logic.edchen.org/how-to-resolve-ora-00907-missing-right-parenthesis/,重複測試:

1.環境:
SCOTT@book> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.測試:

SCOTT@book> create table fruits (fruit_name varchar2(20), price number not null default 20);
create table fruits (fruit_name varchar2(20), price number not null default 20)
                                                                    *
ERROR at line 1:
ORA-00907: missing right parenthesis

--//不能不講,給出的錯誤提示非常讓人迷惑,作者給出的解析:

Please note that, the right parenthesis is also known as right round bracket. In CREATE TABLE statement, what
parenthesis encloses is the column list.

In this case, DEFAULT is a valid reserved keyword, but it should be appeared before NOT NULL, not after. So we should
rearrange the order of clauses in the statement to correct the problem.

--//修改為default在前面:

SCOTT@book> create table fruits (fruit_name varchar2(20), price number default 20 not null);
Table created.

--//SCOTT@book> drop table fruits purge;
--//Table dropped.




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2950565/,如需轉載,請註明出處,否則將追究法律責任。

相關文章