2013-02-01 52 views
1

因此,在指導者中使用ENUM時傾向於使用'CHECK(col_name IN('ENUM','LIST'))方法並獲得了缺少的右括號錯誤。無法弄清楚,並會感激任何輸入。我的好奇心是學術性的,檢查條件正常,所以不要急於求成。在SQLPlus中使用ENUM ORA-00907

SQL> CREATE TABLE service_labour_detail
2 (call_num NUMBER(8),
3 labour_code ENUM('A','B','C','D'),
4 labour_hours NUMBER(3,1) NOT NULL,
5 PRIMARY KEY(call_num, labour_code),
6 FOREIGN KEY(call_num)
7 REFERENCES service_call(call_num));
labour_code ENUM('A','B','C','D'),
* ERROR at line 3:
ORA-00907: missing right parenthesis
乾杯!

弗雷澤

回答

2

enum不是Oracle中的有效的數據類型。 enum是MySQL中的一種數據類型,但據我所知,並不是很多其他數據庫都支持它。

+0

嗯這很有趣,我是一個學生,所以我可能誤讀這個甲骨文的文檔鏈接](http://docs.oracle.com/cd/E17952_01/refman-5.1- en/enum.html) – user314321

+1

@Fraser - Oracle公司擁有MySQL。所以在oracle.com域上有一堆關於MySQL的文檔。這與Oracle數據庫的文檔不同。 –

0

嘗試這種 QL> SELECT ENAME 2,作業 3,CASE DEPTNO 4 WHEN 10 5 THEN '帳戶' 6 WHEN 20 7 THEN 'SALES' 8 WHEN 30 9 THEN '研究' 10 WHEN 40 11 THEN 'OPERATIONS' 12 ELSE '未知' 13 END AS部門 14 FROM EMP;

從這個鏈接http://www.oracle-developer.net/display.php?id=206