在特定日期/时间从应用程序中删除数据

问题描述:

我有一个iPad应用程序,它可以让用户发布具有特定开始日期/时间和结束日期/时间的优惠。这些优惠通过Java作为中间件存储在服务器上。要求是其他用户在跨越结束日期/时间后应该无法看到该优惠。在特定日期/时间从应用程序中删除数据

所以我必须从服务器删除报价或在数据库中设置一些标志。

我在想我能达到这个目标的方法吗?投票是一个很好的选择,还是有更好的方法来处理这种情况。

+4

任何原因,你根本不可能有一个视图(或者甚至只是一个where子句)说'在哪里(offer_expiry> = NOW())'类型的东西?投票这样的事情是毫无意义的。如果您需要将数据隐藏在计划中,请使用服务器端计划工具为您执行此操作。不要依赖客户端操作来执行服务器端工作 – 2011-12-28 19:17:44

+3

更多信息将会很好,但是如果您的ipod/iphone应用程序正在使用中间件服务来处理其数据,是不是会在该中间件中处理?当用户刷新数据时,中间件不会返回不符合日期标准的数据。 – tbone 2011-12-28 19:18:17

为什么要从数据库(服务器)删除报价,从而丢失数据?

您的中间件应该从数据库中选择报价,其中当前日期介于报价开始和结束日期之间。

检查优惠的用户只会看到那些最新的优惠,并且根据定义,将无法看到已过期(或尚未激活)的优惠。

这样,您仍然可以在数据库中保留您需要执行的任何审计的提议。

另一种方法是通过使用仅选择当前报价的视图将选择逻辑移动到数据库(如评论中所建议的)。

如果您希望用户能够看到他们拥有的所有优惠,那么这也可以添加到选择标准中。

作为一个经验法则,我会更乐意保留所有记录,然后对它们进行过滤,而不是在活动期结束后立即删除已用过的商品。

如果您担心数据量增加,那么您可以在设置的保留期限后将提议归档到另一个表(或CD,甚至只是在您真的需要时将其删除)。

希望它可以帮助...