7.对数据库表操作的特殊要求
本项目对数据库表的操作还有以下特殊要求:
1).以逻辑删除替代物理删除
注意:现在数据库表中数据没有物理删除,只有逻辑删除
以deleteflag字段作为删除标志,deleteflag='1'代表此记录被逻辑删除,因此在查询数据时必须考虑deleteflag的因素
deleteflag的标准查询条件:NVL(deleteflag, '0') <> '1'
2).增加记录状态字段
数据库中的每张表基本都有以下字段:DELETEFLAG、UPDATECOUNT、CREDATE、CREUSER、UPDATETIME、UPDATEUSER
要注意在对标进行操作时必须考虑以下字段
插入一条记录时要置DELETEFLAG='0', UPDATECOUNT=0, CREDATE=sysdate, CREUSER=登录User
查询一条记录时要考虑DELETEFLAG,如果有可能对此记录作更新时还要取得UPDATECOUNT作同步检查
修改一条记录时要置UPDATETIME=sysdate, UPDATEUSER=登录User, UPDATECOUNT=(UPDATECOUNT+1) mod 1000,
删除一条记录时要置DELETEFLAG='1'
3).历史表
数据库里部分表还存在相应的历史表,比如srv_twc_f和srv_twchistory_f
在查询数据时除了检索所在表之外,还必须检索相应的历史表,对二者的结果做Union(或Union All)