Seraph115 发表于 2013-1-30 02:10:51

Informix候选键,级联删除,脚本

drop table seraph_a;
drop table seraph_b;

CREATE TABLE seraph_a (
iddecimal(19,0)NOT NULL,
report_idVARCHAR(40)NOT NULL,
bank_idVARCHAR(20)NOT NULL,
report_dateVARCHAR(10)NOT NULL,
grant_user_idVARCHAR(32)NOT NULL,
      PRIMARY KEY (id) CONSTRAINT pk_seraph_a,
      UNIQUE(report_id, bank_id, report_date) CONSTRAINT unique_seraph_a
);

CREATE TABLE seraph_b (
iddecimal(19,0)NOT NULL,
report_idVARCHAR(40)NOT NULL,
bank_idVARCHAR(20)NOT NULL,
report_dateVARCHAR(10)NOT NULL,
grant_user_idVARCHAR(32)NOT NULL,
      PRIMARY KEY (id) CONSTRAINT pk_seraph_b,
      UNIQUE(report_id, bank_id, report_date) CONSTRAINT unique_seraph_b,
      FOREIGN KEY (report_id, bank_id, report_date) REFERENCES seraph_a(report_id, bank_id, report_date)ON DELETE CASCADE
);

insert into seraph_avalues(1, 'a1', 'a1', 'a1' ,'a1');
insert into seraph_bvalues(1, 'a1', 'a1', 'a1' ,'a1');

insert into seraph_avalues(2, 'a2', 'a1', 'a1' ,'a1');
insert into seraph_bvalues(2, 'a2', 'a1', 'a1' ,'a1');

delete from seraph_a where report_id='a1' and bank_id='a1' and report_date='a1';
页: [1]
查看完整版本: Informix候选键,级联删除,脚本