Oracle-表的字段增加修改删除操作

表结构修改

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);

--
上一篇:《Redis 使用规范》


下一篇:UML和模式应用5:细化阶段(4)--如何创建领域模型