我想创建一个View,它只返回自上次运行View以来添加到数据库的新数据。我知道这听起来像一个简单的问题,在这里有数百万的问题就像它一样,但我的情况有一些限制。
我发布了一个类似的问题here,并且要添加一个UPDATE语句来更新具有当前DateTime的表,然后在View的开头检查此表,并在此DateTime之后仅查询。但访问View的用户现在只能读取访问权限。
我还在想,当使用SELECT语句读取时,可能会有一种时间戳列更新为当前时间,但显然不是。
仅供参考,只有一位用户可以访问此视图。
任何帮助都非常感激。
答案 0 :(得分:0)
如果用户只具有对数据库的读访问权限,则必须将相关信息存储在应用程序层而不是数据库中。如果您没有写访问权限,或者至少信息不属于某个其他流程,则无法在数据库中存储信息。
建议是让应用程序跟踪返回的记录 - 跟踪最大CreatedAt
值或id
。然后使用以下内容访问数据库:
select v.*
from view v
where id > $id;
后续代码将更新应用程序中的$id
。