往数据库插入一条记录,如何知道该记录的插入时间!(没有字段专门记录时间)难道CSDN没人能解答吗?

时间:2021-09-29 00:26:32
现在有这样的需求!
我这里有一个评分系统A,另外别人做了一个考试系统B。

我的评分系统A只能从考试系统B里面查询数据。然后依据查询出来的结果判断学员上考试系统B操作的得分数。

学员可以随时随地上考试系统B进行操作,而且没有时间限制,也无法做到任何限制,因为是两个厂家的系统。

现在我必须做一个限制就是如果我在评分系统A里面定下了考试时间,学员在考试系统B里面是即使在考试之前就已经操作了,(也就是往考试系统B里面的相关表插入了数据)然后我去查询出学员在考试系统B里面插入相关表的数据记录的时间和我在考评系统A里面定下的考试时间相比较,如果在时间范围内,就允许记录成绩。否则不允许,因为他提前做了考试。

考试系统B里面有没有时间字段我无法控制,因为是另外一个厂家做的系统。
现在我知道的是,每条记录有一个唯一的物理ROWID,因此我想依据这个ROWID来查找记录插入时间。但是不知道可不可以,
也不知道怎么查。后来上网查了很多信息,说ROWID会依据数据库的重启,清缓存而重新分配。但是按照我的理解只要我这条
记录没删除,该记录的ROWID应该是永远只分配给该记录的吧?应该是不会随着数据库的重启,清缓存而重新分配的吧?如果重新分配的话,那么我这条记录原来存储的位置岂不是要重新挪动存储位置,因为ROWID是物理标识。所以我认为ROWID对应的记录没删除的话,应该是永远只分配给该条记录,除非你把记录删除了。

现在我想知道的是能不能依据ROWID查找出记录的插入时间,还有我这种想法思路可不可以?
首次在CSDN上发帖,希望各位大侠赐教!!!

6 个解决方案

#1


你不在B系统里做记录那就是无法查询得到每条数据具体的生成时间

建议你修改B系统中那个表的结构,增加一个栏位,默认为系统时间,每次新记录产生的时候就有了产生记录的时间

#2


ROWID不是物理标识,不过一般情况下不会改变
但是要根据rowid查记录的插入时间恐怕没办法
系统不会一条一条都记录时间
应该像楼上说的一样,修改B系统的表,增加一个时间字段

#3


sysdate即可

#4


表中添加一列日期型,默认值sysdate,即可

#5


B系统是另外一个厂家做的,我是没办法去要求别人怎么做的。我是A厂家,只能从它那里取数据。

#6


现在我想知道的是能不能依据ROWID查找出记录的插入时间,还有我这种想法思路可不可以? 

行不通!!

#1


你不在B系统里做记录那就是无法查询得到每条数据具体的生成时间

建议你修改B系统中那个表的结构,增加一个栏位,默认为系统时间,每次新记录产生的时候就有了产生记录的时间

#2


ROWID不是物理标识,不过一般情况下不会改变
但是要根据rowid查记录的插入时间恐怕没办法
系统不会一条一条都记录时间
应该像楼上说的一样,修改B系统的表,增加一个时间字段

#3


sysdate即可

#4


表中添加一列日期型,默认值sysdate,即可

#5


B系统是另外一个厂家做的,我是没办法去要求别人怎么做的。我是A厂家,只能从它那里取数据。

#6


现在我想知道的是能不能依据ROWID查找出记录的插入时间,还有我这种想法思路可不可以? 

行不通!!