日期:2014-05-17  浏览次数:21373 次

如何使用 alter table 语句一次往一个表里添加多个字段
我想给一个表添加多个字段,但是却不能一次添加进去,不知oracle是否支持如下的语句啊:
alter table ABD add
  A21 number(10) null,
  A22 varchar2(20) null,
  A23 varchar2(20) null

执行时却报错:说ora-10735, invalid alter table option
但是一个字段一个字段的加却可以,不知道是我语句写的有问题还是其他什么原因,请大家指教一下了!

------解决方案--------------------

Code For You

SQL code

SQL> create table testc
  2  (id number(3),
  3  name varchar2(16));

表已创建。

SQL> alter table testc add tel varchar2(18)
  2  add addr varchar2(10);

表已更改。

SQL> select * from testc;

未选定行

SQL> insert into testc
  2  values(&id,'&name','&tel','&addr');
输入 id 的值:  1
输入 name 的值:  中国
输入 tel 的值:  13505596921
输入 addr 的值:  上海
原值    2: values(&id,'&name','&tel','&addr')
新值    2: values(1,'中国','13505596921','上海')

已创建 1 行。

SQL> /
输入 id 的值:  2
输入 name 的值:  美国
输入 tel 的值:  13818752142
输入 addr 的值:  广州
原值    2: values(&id,'&name','&tel','&addr')
新值    2: values(2,'美国','13818752142','广州')

已创建 1 行。

SQL> select * from testc;

         ID NAME           TEL                ADDR
---------- ---------------- ------------------ ----------
         1  中国             13505596921        上海
          2  美国             13818752142        广州

------解决方案--------------------
SQL> desc a;
Name Type Nullable Default Comments 
---- ----------- -------- ------- -------- 
ID NUMBER Y
XMMC CHAR(6) Y
CODE VARCHAR2(7) Y
RYID NUMBER Y
 
SQL> alter table a
2 add (id2 number,id3 number);
 
Table altered
 
SQL> desc a;
Name Type Nullable Default Comments 
---- ----------- -------- ------- -------- 
ID NUMBER Y
XMMC CHAR(6) Y
CODE VARCHAR2(7) Y
RYID NUMBER Y
ID2 NUMBER Y
ID3 NUMBER Y
------解决方案--------------------
一次给指定的表添加多个字段的DDL语句如下:

alter table yourtable add(A21 number(10),A22 varchar2(20),A23 varchar2(20));

就可以,那个NULL不用写,因为ORACLE 对于新添加的字段,默认为NULL

------解决方案--------------------
alter table abd
add (A21 number(10) null, 
A22 varchar2(20) null, 
A23 varchar2(20) null);