我有基于 SMS 的调查应用程序,它包含一个调查域和一个答案。
我收到了详细 DDL 的请求,所以.... 数据库看起来像这样
SurveyAnswer.Answer 在该 SurveyDomain 的所有活动调查中必须是唯一的。在 SQL 术语中,这应该总是返回 0..1 行:
select * from survey s, surveyanswer sa
where s.surveyid = sa.surveyid and
s.active = 1 and
s.surveydomainid = @surveydomainid
sa.answer = @answer
我计划在应用程序级别处理此约束,但也希望强制执行一些数据库完整性。做这个的最好方式是什么?扳机?可能在约束中?