ALTER TABLE MYTABLENAME MODIFY MYFIELDNAME VARCHAR2(12);//修改
ALTER TABLE MYFIELDNAME ADD MYFIELDNAME VARCHAR2(12);//新增

解决方案 »

  1.   

    谢谢sxykje() !
    ORACLE 可以这样写,那其他数据库可以这样写吗?
      

  2.   

    alter table是ANSI SQL,所以每个数据库都可以这样写.
    不过类型每个数据库就不一样了, 例如sqlserver中没有varchar2这个类型
      

  3.   

    ORACLE:
    ALTER TABLE MYTABLENAME MODIFY MYFIELDNAME VARCHAR2(12);//修改
    ALTER TABLE MYFIELDNAME ADD MYFIELDNAME VARCHAR2(12);//新增SQL SERVER
    ALTER TABLE MYTABLENAME alter column MYFIELDNAME char(10);//修改
    ALTER TABLE MYFIELDNAME ADD COLUMN MYFIELDNAME VARCHAR(12);//新增DB2 :
    ALTER TABLE MYFIELDNAME ADD COLUMN MYFIELDNAME VARCHAR(12);//新增
    ALTER TABLE MYTABLENAME alter MYFIELDNAME set data type varchar(25);//修改,只有varchar类型的字段可以修改,而且只能改长了,不能改短了oracle ,sql server, db2 都满足t-sql标准,只是实现标准的方式不一致
      

  4.   

    oracle满足t-sql标准?汗T-SQL是sybase和ms的东东,oracle怎么可能满足SQL的标准叫ANSI SQL:)各家对ANSI SQL也未必全部支持,各自有各自的特点。其实sql的语法查一下文档就可以了