web-dev-qa-db-ja.com

列のサイズを変更する方法

Oracle SQL Developerで表Test_Project2を作成しました。その後、列proj_nameのサイズが小さいことに気付いたので、次のステートメントを使用して列を変更することにしました

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)
);
29
user2121

Oracle SQL Developerが構文強調表示で表示するエラーに関係なく、実際にalterステートメントを実行したときとまったく同じように実行します。

ALTER TABLE TEST_PROJECT2 MODIFY proj_name VARCHAR2(300);

次のように、一度に複数の列を変更する必要がある場合にのみ、括弧を追加する必要があります。

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

実行すると動作しますが、SQL Developerがエラーの可能性を認識して警告しないようにするには、次のように変更できます。

ALTER TABLE TEST_PROJECT2 MODIFY (proj_name VARCHAR2(300));
7
Sebz

これは、Toad for Oracle 12.8.0.49を使用して行われました

ALTER TABLE SCHEMA.TABLENAME 
    MODIFY (COLUMNNAME NEWDATATYPE(LENGTH)) ;
    COMMIT ;

例えば、

ALTER TABLE PAYROLL.EMPLOYEES 
    MODIFY (JOBTITLE VARCHAR2(12)) ;
    COMMIT ;