记一次生产事故 ORACLE初始化脚本可重复执行

背景:最近有个地方项目升级,将发出去的初始库脚本执行了一次,生产数据全删了。

初始库脚本安全性

 第一:能够可重复执行

 第二:生产环境执行了初始化脚本不会影响生产库数据

oracle初始库脚本

declare  num number;
 begin
 select count(1) into num from user_tables where table_name=upper('ACT_BIZ_PARATRANSFER') ;
 if num = 0  then
 execute immediate 
 'CREATE TABLE GISQBPM.ACT_BIZ_PARATRANSFER (
  ID NVARCHAR2(64) NOT NULL,
  TASKID NVARCHAR2(64),
  PROCESS_INST_ID NVARCHAR2(64),
  TASK_NAME NVARCHAR2(64),
  TASK_LINK NVARCHAR2(32),
  ASSIGNEE NVARCHAR2(32),
  TRANSFER_ASSIGNEE NVARCHAR2(32),
  TRANSFER_DATE TIMESTAMP(6),
  REV_ NUMBER
)';
 end if;
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.ID IS ''主键id''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.TASKID IS ''任务id''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.PROCESS_INST_ID IS ''流程实例id''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.TASK_NAME IS ''任务名称''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.TASK_LINK IS ''转交任务环节''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.ASSIGNEE IS ''原始持有任务用户''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.TRANSFER_ASSIGNEE IS ''转交人''';
  execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PARATRANSFER.TRANSFER_DATE IS ''转交日期(yyy)''';
  execute immediate 'COMMENT ON TABLE GISQBPM.ACT_BIZ_PARATRANSFER IS ''平行移交记录表''';
 end;
 /
-- ----------------------------
-- Table structure for ACT_BIZ_PROCDEF
-- ----------------------------
declare  num number;
 begin
 select count(1) into num from user_tables where table_name=upper('ACT_BIZ_PROCDEF') ;
 if num = 0  then
 execute immediate 
'CREATE TABLE GISQBPM.ACT_BIZ_PROCDEF (
  ID_ NVARCHAR2(128) NOT NULL,
  REV_ NUMBER,
  PROC_DEF_ID_ NVARCHAR2(128) NOT NULL,
  FORM_KEY_ VARCHAR2(2048 BYTE),
  PROC_CODE_ NVARCHAR2(128),
  SERIAL_RULE_ NVARCHAR2(255),
  PROC_DEF_KEY_ NVARCHAR2(255),
  USER_NAME_ NVARCHAR2(128)
)';
 end if;
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.ID_ IS ''主键''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.REV_ IS ''版本号''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.PROC_DEF_ID_ IS ''流程定义id''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.FORM_KEY_ IS ''表单键值''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.PROC_CODE_ IS ''流程代码''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.SERIAL_RULE_ IS ''编号规则''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.PROC_DEF_KEY_ IS ''流程定义键值''';
	execute immediate 'COMMENT ON COLUMN GISQBPM.ACT_BIZ_PROCDEF.USER_NAME_ IS ''用户名''';
	execute immediate 'COMMENT ON TABLE GISQBPM.ACT_BIZ_PROCDEF IS ''业务流程定义表''';
 end;
/

注意:oracle注意 / 分割符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值