可能很远,但是我正在寻找一种方法,以查看自插入行以来是否对其进行过更新。
例如。
sum
有什么办法可以告诉我'C'记录已更新?
此外,我绝对无法控制数据模型,因此无法在实际表中添加添加时间戳和更新时间戳。
答案 0 :(得分:3)
这将起作用:
create table test_data(a varchar(1));
insert into test_data values('A');
insert into test_data values('B');
insert into test_data values('C');
insert into test_data values('D');
select * from test_data;
A
B
C
D
create table noofchanges(data varchar(1),numberofchanges int) ;
insert into noofchanges(data,numberofchanges) select a,0 from test_data;
select * from noofchanges;
A 0
B 0
C 0
D 0
CREATE OR REPLACE TRIGGER test_data_before_update
BEFORE UPDATE
ON test_data
FOR EACH ROW
BEGIN
update noofchanges
set numberofchanges=numberofchanges+1
where data=:old.a;
END;
update test_data set a='A' where a='B';
select * from test_data;
A
A
C
D
select * from noofchanges
A 0
B 1
C 0
D 0
谢谢你!!!!