rowid 를 비교하여 데이터가 삽입된 시점을 판단하는 쿼리가 있습니다.
ㅇ select 계약번호 from T_계약 where rowid = (select MAX(rowid) from T_계약 where 계약번호 like '%abcd%';
그런데 T_계약 테이블에 insert 만 발생하는 것이 아니라 delete, update 도 하고 있다보니,
나중에 insert 한 튜플이 반드시 더 큰 rowid 를 가지게 되는 것은 아닌 듯 합니다.
rowid 를 통해 입력시점을 판단하는 로직을 수정해야 할지.. 판단이 잘 서지 않습니다.
궁금한 것은.
1. rowid 를 항상 증가하도록 할 수 있는지?
- 튜플의 삭제를 금지하는 것으로 rowid 증가를 보장받을 수 있을까요?
- 또는 rowid 를 항상 증가하도록 만드는 디비 세팅이 있을까요?
2. 데이터 삽입/수정시점을 판단할 수 있는 방법이 있는지?
- "입력시각","수정시각" 과 같은 별도의 필드를 만들고 유지하는 것 외에 디비 자체적으로 처리하는 방법이 있을까요?
어떤 방법으로 나중에 삽입된 데이터를 구분할 수 있는지 궁금합니다.
|