ora 00907 缺失右括號3

2021-06-08 11:50:47 字數 1604 閱讀 3266

ora-00907 缺失右括號

剛剛接觸oracle資料庫,在使用pl/sql dev建表的時候,碰到了ora-00907這個錯誤,在網上找了很多資料,發現別人碰到的那個問題,跟我碰到的這個問題不一樣,所以一直沒有解決方法,後來,在網上搜尋使用oracle建立外來鍵約束的示例,終於發現自己的錯誤在什麼地方了。

系統環境:window 7 旗艦版

oracle資料庫:oracle11g

第三方軟體:pl/sql dev

錯誤的寫法:

/* 建立選課表  */

create table learning(

id number(18,0) primary key,

ryid number(18,0) foreign key references students(id), //外來鍵約束

courseid number(18,0)foreign keyreferences course(id),//外來鍵約束

score number(4,1) check(score>=0 and score<=100)

)正確的寫法:

/* 建立選課表  */

create table learning(

id number(18,0) primary key,

ryid number(18,0) references students(id),

courseid number(18,0)  references course(id),

score number(4,1) check(score>=0 and score<=100)

)錯誤在於:在使用create 建表時, 將建立約束的表級定義和列級定義搞混了 ,出現上述的 兩不像的錯誤,所以就報錯了。

此外,在網上找資料的過程中發現 出現ora-00907 缺失右括號

的情況有很多種:

比如:

1.在建立主外來鍵約束的時候,外來鍵的型別跟主鍵的型別不完全一致,也會出現ora-00907 缺失右括號錯誤

2.關鍵字寫錯,也會出現ora-00907 缺失右括號 的錯誤

3.某些約束 和 字段型別的前後 是有一定的順序關係的,具體可以檢視oracle相關文件

……等等

所以,如果大家在學習oracle的過程中碰到了ora-00907 缺失右括號

這種錯誤,一定要好好檢查自己的建表語句的正確性!

祝你們好運,朋友們!

ORA 00907 缺失右括號

好久沒寫sql指令碼建立oracle表,之前也是沒注意,最近寫了乙個建立表語句如下 create table jc task task id number 11 primary key,task code varchar2 255 default null,task type number 1 no...

ora 00907缺失右括號

最近在開發過程中使用oracle資料庫,在程式中進行查詢資料時遇到了 ora 00907 缺失右括號 的問題,但是如果直接把sql語句直接在資料庫或pl sql中執行時,卻又能夠正常查詢,為了解決這個問題,折騰了半天,查詢了一些資料,所以就對各種導致出現 缺失右括號 的情況進行了整理總結。行文如下。...

ORA 00907 缺失右括號

最近在開發過程中使用oracle資料庫,在程式中進行查詢資料時遇到了 ora 00907 缺失右括號 的問題,但是如果直接把sql語句直接在資料庫或pl sql中執行時,卻又能夠正常查詢,為了解決這個問題,折騰了半天,查詢了一些資料,所以就對各種導致出現 缺失右括號 的情況進行了整理總結。行文如下。...