--测试表 create table TEST ( ID NUMBER not null, NAME VARCHAR2(20) ) ALTERTABLESCOTT.TESTRENAMETOTEST1--修改表名 ALTERTABLESCOTT.TESTRENAMECOLUMNNAMETONAME1 --修改表列名 ALTERTABLESCOTT.TESTMODIFYNAME1NUMBER(20) --修改字段类型 ALTERTABLESCOTT.TESTADDADDRESSVARCHAR2(40) --添加表列 ALTERTABLESCOTT.TESTDROPNAMECASCADECONSTRAINTS --删除表列 alter table aa add constraint pk_aa_id primary key(id) --添加主键 ALTER TABLE gtsysusr.SCHEDULE_CONTENTS MODIFY CONTENTS_ID NVARCHAR2(64) --另建一个表,把varchar改成date,然后用SQL转一下插入,然后删除原表,然后改目标表名字。应该可以了。 --四, --pa_t_engineering 表名 --ENGINEERING_INVE 要修改的列 --TEMP_ROWNAME 临时列名,用于存储数据(因为oracle修改时会弹出不能修改非空列) ALTER TABLE pa_t_engineering RENAME COLUMN ENGINEERING_INVE TO TEMP_ROWNAME; ALTER TABLE pa_t_engineering ADD ENGINEERING_INVE NUMBER(18,2); UPDATE pa_t_engineering SET ENGINEERING_INVE = CAST(TEMP_ROWNAME AS NUMBER(18,2)); ALTER TABLE pa_t_engineering DROP COLUMN TEMP_ROWNAME;