日期:2014-05-16  浏览次数:20427 次

oracle怎样修改表名、列名、字段类型、添加表列、删除表列
一,

你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同,

二,

1,测试表
create table TEST
(
ID   NUMBER not null,
NAME VARCHAR2(20)
)
ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名
ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名
ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段类型
ALTER TABLE SCOTT.TEST ADD ADD RESS VARCHAR2(40) --添加表列
ALTER TABLE SCOTT.TEST DROP COLUMN RESS--删除表列


三,





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;