我们有一个数据库,其中联系人只是软删除,即我们设置了一个名字删除为真。这个API处理这个问题,但有时你需要直接对数据库运行查询,并且很容易忘记这一点,并导出实际删除的联系人。这不是一个大问题,因为我已经习惯了系统,但是如果我正在度假,或者如果有其他人要接管,我想确保这些行不会被返回 - 除非特别要求。这给我们留下了以下两个问题:你能告诉SQL Server不要返回特定的行吗?
有没有办法告诉(在这种情况下,2005年)的SQL Server例如,如果一个位被设置为true,不返回行?
如果是这样,如果特别要求(如果bit ='true'),这些行仍可以被检索吗?
我会建议相同的。如果可行,创建一个视图。这也消除了应用程序的责任来过滤掉已删除的记录。 – Pete 2009-09-15 08:08:24
不幸的是,在这一点上我不认为这是一种选择 - 我有一种感觉,这应该早在设计阶段就已经完成了。但这对未来的项目很有用。 – 2009-09-15 08:12:48
那么如果你还在开发中,你可以考虑将所有包含已删除行的表重新命名为tablename_base或类似的东西。这可以很好地工作,不需要更改代码。这显然需要一些测试。 – 2009-09-15 08:16:57