Чтобы выбрать не удаленные или удаленные строки, создайте два представления:
CREATE VIEW ActiveContacts
AS
SELECT (list of fields)
FROM dbo.Contacts
WHERE deleted = 0
CREATE VIEW DeletedContacts
AS
SELECT (list of fields)
FROM dbo.Contacts
WHERE deleted = 1
Теперь вы можете легко выбирать из активных или удаленных контактов:
SELECT (list of fields)
FROM ActiveContacts
SELECT (list of fields)
FROM DeletedContacts
Таким образом, вы можете легко инкапсулировать эти критерии выбора, и если вы не вернете этот «удаленный» флаг в своем представлении, внешние пользователи даже не увидят этот флаг и не узнают, что он там есть.
Марк