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中執行時,卻又能夠正常查詢,為了解決這個問題,折騰了半天,查詢了一些資料,所以就對各種導致出現 缺失右括號 的情況進行了整理總結。行文如下。...