2011-07-14 117 views
2

執行以下SQL會發生此錯誤。Alter Table - 爲COLUMN類型BLOB添加默認值

alter table TABLE_NAME ADD FILE_DATA BLOB NULL default 'EMPTY_BLOB()' 

Error starting at line 37 in command: alter table TABLE_NAME ADD FILE_DATA BLOB NULL default 'EMPTY_BLOB()' Error report: SQL Error: ORA-30649: missing DIRECTORY keyword 30649.0000 - "missing DIRECTORY keyword"
*Cause: DEFAULT DIRECTORY clause missing or incorrect.
*Action: Provide the DEFAULT DIRECTORY.

有人能幫助我嗎?

我可以創建一個TYPE BLOB的新列,也可以將創建爲VARCHAR的同一列轉換爲DEFAULT值 - 然後將該類型更改爲BLOB。但我無法對他們中的任何一個。

回答

4

假設你想要的默認值是一個空的BLOB而不是字符串「EMPTY_BLOB()」,你只需要刪除引號

SQL> create table new_table (
    2 col1 number 
    3 ); 

Table created. 

SQL> alter table new_table 
    2 add(file_data blob default empty_blob()); 

Table altered.