利用powerdesigner重新生成主表(多个子表与之关联)的若干测试

从powerdesigner15产生(preview)的重建主表的sql:

 

drop trigger "tib_e_schoolinfo"
/

alter table E_CLASSINFO
   drop constraint FK_E_CLASSI_REFERENCE_E_SCHOOL
/

alter table E_SCHOOL_GRADE
   drop constraint FK_E_SCHOOL_REFERENCE_E_SCHOOL
/

alter table E_TEACHERINFO
   drop constraint FK_E_TEACHE_REFERENCE_E_SCHOOL
/

drop index "SchoolName"
/

drop table E_SCHOOLINFO cascade constraints
/

/*==============================================================*/
/* Table: E_SCHOOLINFO                                          */
/*==============================================================*/
create table E_SCHOOLINFO  (
   SCHOOLID             CHAR(16)                        not null,
   IMAGEPATH            NUMBER(1024)                    not null,
   SCHOOLNAME           VARCHAR2(256),
   PROVINCEID           CHAR(16),
   PROVINCE             VARCHAR2(256),
   CITYID               CHAR(16),
   CITY                 VARCHAR2(256),
   DISTRICTID           CHAR(16),
   DISTRICT             VARCHAR2(256),
   STREET               VARCHAR2(128),
   ESTABLISHED          DATE,
   SCHOOLSIZE           VARCHAR2(1024),
   PRESIDENT            VARCHAR2(256),
   URL                  VARCHAR2(1024),
   SCHOOLDESC           VARCHAR2(1024),
   FULLINFO             BLOB,
   SCHOOLSTATUS         CHAR(16),
   PASTALADDRESS        VARCHAR2(256),
   POSTCODE             VARCHAR2(128),
   FAX                  VARCHAR2(128),
   SCHOOLADDRESS        VARCHAR2(256),
   CONTACTNAME          VARCHAR2(256),
   CONTACTMOBILE        VARCHAR2(128),
   CONTACTPHONE         VARCHAR2(128),
   CONTACTEMAIL         VARCHAR2(128),
   CONTACTFAX           VARCHAR2(128),
   CREATETIME           DATE,
   CREATORID            CHAR(16),
   CREATENAME           VARCHAR2(256),
   MEMO                 VARCHAR2(3000),
   constraint PK_E_SCHOOLINFO primary key (SCHOOLID)
)
/

/*==============================================================*/
/* Index: "SchoolName"                                          */
/*==============================================================*/
create unique index "SchoolName" on E_SCHOOLINFO (
   SCHOOLNAME ASC
)
/


create trigger "tib_e_schoolinfo" before insert
on E_SCHOOLINFO for each row
declare
    integrity_error  exception;
    errno            integer;
    errmsg           char(200);
    dummy            integer;
    found            boolean;

begin
    --  Column "IMAGEPATH" uses sequence Sequence_1
    select Sequence_1.NEXTVAL INTO :new.IMAGEPATH from dual;

--  Errors handling
exception
    when integrity_error then
       raise_application_error(errno, errmsg);
end;
/

 

先删除与此主表关联创建的外键约束(多个子表的),继而删除基于此主表的一些存储过程,触发器等,然后才是删除此主表;

 

由此想到的是:万一在生产中,删除一个主表的数据,重新生成,哪不是业务要停了或挂了,这种情形如何处理,

  这种主外键的精细控制很有学问哟!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-667158/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9240380/viewspace-667158/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值