oracle某个表增加或者删除字段,再调整字段顺序,操作参考

oracle某个表增加或者删除字段,再调整字段顺序,操作参考
2019-03-14 1000 星期四 enAn

-- 2019-03-14 0933 星期四  复制表结构和数据,增加数据
--正式表 wsdl_log
select * from wsdl_log;
-- 创建备份表wsdl_log_int:复制表结构和数据(不会复制表说明和字段说明)
create table wsdl_log_int as select * from wsdl_log;
-- 右键查看正式表结构,复制创建sql和字段说明
drop table wsdl_log;
/*
--删除字段
alter table wsdl_log drop (source);
alter table wsdl_log_int drop (source);
*/
--添加字段
alter table wsdl_log add (source varchar2(100));
--INSERT INTO SELECT语句复制表数据部分列和常值
Insert into Table2(a, c, d) select a,c,5 from Table1
或:Insert into Table2 select * from Table1
--如果字段类型和顺序一致,使用这个
Insert into wsdl_log select * from wsdl_log_int

--如果字段类型和顺序不一致,使用这个:基本是在原表中增加或者删除字段,调整字段顺序使用
/*复制指定字段的值,从一个表到另一个表,基本是操作备份表之间,
* 原表可能加字段了,然后需要调整字段顺序,才这样操作的
*/
insert into wsdl_log 
(
      id,name,status,in_data,out_data,batch_id,
			last_updated_by,last_update_date,created_by,creation_date
)
      select id,name,status,in_data,out_data,batch_id,
			last_updated_by,last_update_date,created_by,creation_date from wsdl_log_int;
 ----**********************************************
 create table WSDL_LOG
(
  ID               VARCHAR2(32),
  SOURCE           VARCHAR2(100),
  NAME             VARCHAR2(100),
  STATUS           VARCHAR2(10),
  IN_DATA          CLOB,
  OUT_DATA         CLOB,
  BATCH_ID         VARCHAR2(100),
  LAST_UPDATED_BY  VARCHAR2(100),
  LAST_UPDATE_DATE DATE,
  CREATED_BY       VARCHAR2(100),
  CREATION_DATE    DATE,
  ATTRIBUTE1       VARCHAR2(1000),
  ATTRIBUTE2       VARCHAR2(1000),
  ATTRIBUTE3       VARCHAR2(1000),
  ATTRIBUTE4       VARCHAR2(1000),
  ATTRIBUTE5       VARCHAR2(1000)
);
-- Add comments to the table 
comment on table WSDL_LOG  is '调用wsdl的日志记录';
-- Add comments to the columns 
comment on column WSDL_LOG.ID  is '主键';
comment on column WSDL_LOG.SOURCE  is '从哪个系统接入';
comment on column WSDL_LOG.NAME  is 'wsdl服务';
comment on column WSDL_LOG.STATUS  is '状态:0=成功,1=失败';
comment on column WSDL_LOG.IN_DATA  is '入参:大数据,clob ';
comment on column WSDL_LOG.OUT_DATA  is '反参:大数据,clob';
comment on column WSDL_LOG.BATCH_ID  is '批次号,可能后面做业务逻辑处理的时候入库有使用到 ';
 


  

你可能感兴趣的:(oracle)