create table branch_audit
(br_branchno varchar(4),
br_branchname varchar(20),
br_street varchar(40) not null unique,
br_city varchar(20),
br_state varchar(2),
br_zipcode varchar(5),
br_phone varchar(10),
br_fax varchar(10),
br_per_mgt_fee decimal(5,2),
br_email varchar(25),
constraint br_primarykey primary key (br_branchno));
上面的行创建了与“分支”表具有相同架构的审计表,以便它可以捕获所有已删除的旧数据
这是触发器语句,非常基本的形式,我想知道是否有办法保持其简单性:
CREATE TRIGGER trigger_deleteon
AFTER DELETE
ON branch
FOR EACH ROW
INSERT INTO branch_audit VALUES(select * from branch);
DELETE FROM Branch WHERE CL_CLIENTNO = 'B001';
我会尽力在这里解释。所以我希望代码在触发器被激活后获取删除的值,然后获取已删除的元组(行)并将其存储在我创建的审计表中,以便跟踪对数据库的修改。
上面带下划线的语句是必须更改为仅捕获已删除元组的语句,当前它捕获每个元组而不是仅捕获更新的元组。