2013-03-15 120 views
0
CREATE TABLE MyTable 
    (FName Varchar2(20) CONSTRAINT MyTable_FName_def DEFAULT 'MyName', 
    LName varchar2(20)); 

我,當我運行上面的查詢以下錯誤,約束規範在這裏不允許是什麼意思?

constraint specification not allowed here 
+3

**什麼** RDBMS ??? SQL =結構化查詢語言 - 這不是**數據庫產品.... – 2013-03-15 10:06:43

+0

我懷疑是不允許指定約束。 – Jodrell 2013-03-15 10:08:18

+0

默認值不是約束! – 2013-03-15 11:06:51

回答

1

如果檢查The Oracle manual,你會看到一個DEFAULT值不需要CONSTRAINT關鍵字

您應該使用:

CREATE TABLE MyTable 
    (
     FName Varchar2(20) DEFAULT 'MyName', 
     LName Varchar2(20) 
    ); 
+0

'varchar2'是Oracle,但您的假設是正確的。順便說一句:請做**不**鏈接到完全過時的Postgres版本(8.1)。除此之外,沒有像「psql」這樣的語言(在Oracle和Postgres中都沒有)。 – 2013-03-15 11:05:09

+0

@a_horse_with_no_name,謝謝你改進答案。 – Jodrell 2013-03-15 11:57:10