表结构修改
ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名 ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名 ) --修改字段类型 )--添加表列 ALTER TABLE SCOTT.TEST DROP NAME CASCADECONSTRAINTS --删除表列
这里要注意几个地方,
首先,增加和修改列是不需要加关键字COLUMN,否则会报错ora-00905。
其次,对删除单列的话,一定要加COLUMN,然后记住,删除是不需要加列类型的
很奇怪的现象,再单列中要加关键字COLUMN,然而再删除多列的时候,不能加COLUMN关键字。
alter table emp4 drop column test; alter table emp4 drop (test,test2);
表备注添加
comment on column TableName.ColumnName is '备注名'; comment on table TableName is '备注名';
从一个表中查询的数据插入到另一张表中
----- ---27.... 系统操作日志表 SYS_OPE_LOGS_BAK create table SYS_OPE_LOGS_BAK ( SYSID ) not null, OPE_USER ), OPE_TIME date, OPE_ACTION ), OPE_ORG ), OPE_CARDNO ), OPE_CHANNEL ) ); -- --原来表SYS_OPE_LOGS中的数据备份到表SYS_OPE_LOGS_BAK中 insert into SYS_OPE_LOGS_BAK (SYSID,OPE_USER,OPE_TIME,OPE_ACTION,OPE_ORG,OPE_CARDNO,OPE_CHANNEL) select SYSID, OPE_USER, to_date(OPE_TIME,'yyyy-mm-dd hh24:mi:ss') as OPE_TIME, OPE_ACTION, OPE_ORG, OPE_CARDNO, OPE_CHANNEL from SYS_OPE_LOGS --************************************** -- 一定要等成功之后,在删除旧表的数据 --************************************** --删除旧表 drop table SYS_OPE_LOGS; -- 重命名表SYS_OPE_LOGS_BAK为SYS_OPE_LOGS ALTER TABLE SYS_OPE_LOGS_BAK RENAME TO SYS_OPE_LOGS--修改表名 -- 最后加相关备注 comment on table SYS_OPE_LOGS is '系统操作日志'; comment on column SYS_OPE_LOGS.SYSID is '主键、自动生成'; comment on column SYS_OPE_LOGS.OPE_USER is '操作人'; comment on column SYS_OPE_LOGS.OPE_TIME is '操作时间'; comment on column SYS_OPE_LOGS.OPE_ACTION is '操作动作'; comment on column SYS_OPE_LOGS.OPE_ORG is '机构号'; comment on column SYS_OPE_LOGS.OPE_CARDNO is '卡号'; comment on column SYS_OPE_LOGS.OPE_CHANNEL is '操作渠道:002终端机 001柜面'; alter table SYS_OPE_LOGS add constraint PK_SYS_OPE_LOGS primary key (SYSID); --