Определите, была ли строка когда-либо обновлена - PullRequest
0 голосов
/ 27 ноября 2018

Возможно, это длинный выстрел, но я ищу способ узнать, обновлялась ли когда-либо строка с момента ее вставки.

Пример.

CREATE TABLE TEST_DATA AS
  ( SELECT 'A' AS dummy
      FROM dual
     UNION
    SELECT 'B' AS dummy
      FROM dual
  );

UPDATE TEST_DATA 
   SET dummy = 'C'
 WHERE dummy = 'B';

Есть лиВ любом случае, я могу сказать, что запись 'C' была обновлена?

Кроме того, у меня нет абсолютно никакого контроля над моделью данных, поэтому я не могу добавить отметку времени добавления и отметку времени обновления к фактической таблице.

1 Ответ

0 голосов
/ 27 ноября 2018

это будет работать:

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

спасибо !!!!!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...