2016-09-30 60 views
1

我在Oracle SQL Developer中創建了表Test_Project2。從那以後,我意識到,列PROJ_NAME是小尺寸的,所以我決定使用follwoing聲明如何修改列的大小

ALTER TABLE TEST_PROJECT2 MODIFY proj_name VARCHAR2(300); 

但由於某些原因的Oracle SQL Developer強調了分號用紅色來修改列,我不什麼是錯誤,如何糾正它

Test_Project2

CREATE TABLE Test_Project2 (
proj_id number(30), 
proj_name VARCHAR2 (30), 
proj_desc VARCHAR2(300) 
); 
+0

http://stackoverflow.com/questions/10179217/alter-the-size-of-column-in-table-containing-數據 –

+0

我解決了它..應該是:ALTER TABLE Test_Project2 MODIFY(proj_name varchar(150)); / – user2121

+0

添加該答案並接受該答案,以便將此問題標記爲已解決 –

回答

0

可以嘗試這樣的,不知道,但可能會幫助你。

ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150) 
+0

否,它不起作用 – user2121

0

如果你運行它,它會工作,但爲了SQL Developer來識別,而不是警告可能的錯誤,你可以改變它爲:

ALTER TABLE TEST_PROJECT2 MODIFY (proj_name VARCHAR2(300)); 
9

無論什麼錯誤的Oracle SQL的開發者可能表明在語法高亮,實際運行的alter聲明正是你原本的方式,它完美的作品:

ALTER TABLE TEST_PROJECT2 MODIFY proj_name VARCHAR2(300); 

你只需要添加p arenthesis如果你需要同時改變不止一列,如:

ALTER TABLE TEST_PROJECT2 MODIFY (proj_name VARCHAR2(400), proj_desc VARCHAR2(400));