DBA提交脚步规范

工作中需要走脚步流程,申请修改数据库,总结一些常用的语句:)

提交时注明为DDL/DML_需求号_日期(各公司标准不一样)
//修改字段长度使用;
alter table t_task modify task_no varchar2(2000);

//修改字段名称
alter table t_task rename column task_no_bak to task_no;  

//修改字段类型, 先新建备份字段 , 然后复制字段信息, 删除原字段
a.alter table t_task add (TASK_NAME_BAK VARCHAR2(2000));
b.update t_task set TASK_NAME_BAK = TASK_NAME;
c.alter table t_task drop column TASK_NAME;
d.alter table t_task rename column TASK_NAME_BAK to TASK_NAME;

//表字段注释
comment on column VERSION_OPR.T_OPERATED_DATA_LOG.OPERATED_SQL is '执行操作的sql语句';
 
//授权表 及 创建同义词 , 创建同义词为谁使用,谁创建
grant select,insert,update ON t_task to TP_TASK_USER;  //授权表
grant select on SEQ_OPERATED_DATA_LOG_ID to TP_TASK_USER;  //授权序列
create or replace synonym T_OPERATED_DATA_LOG for TASK_USER.T_OPERATED_DATA_LOG;  //创建同义词
create or replace synonym SEQ_OPERATED_DATA_LOG_ID for TASK_USER.SEQ_OPERATED_DATA_LOG_ID;  //创建同义词

//创建备份表, 适用:需要update多个字段
create table test01_bak_20161204 as select * from test01 where name in ('KK','CC','HH');//创建备份表
comment on table test01_bak_20161204 is 'test01备份表,16年12月度可删除';
UPDATE test01 t SET t.NAME = 'cc' WHERE EXISTS (select 1 from test01_bak tb where tb.id = t.id) ; //适用备份表更新数据

 

posted @ 2016-12-04 21:59  王树雨  阅读(194)  评论(0编辑  收藏  举报