1

I'm pretty much a newbie when it comes to Sql Server, and I have a question as to how to constrain data in a table.

I have 2 fields, which are both bit fields. Any one or both must be set to true but both cannot be set to false.

Is this a constraint or it is the job of a trigger?

Thanks in advance.

4

2 に答える 2

5

チェック制約を使用する

CREATE TABLE T
(
B1 BIT NOT NULL,
B2 BIT NOT NULL,
CHECK (B1 = 1 OR B2 =1)
)

これらはトリガーよりも軽量です。

トリガーを使用するには、INSERTEDおよびDELETED疑似テーブルの構築tempdbとこれに対するクエリが必要です。

チェック制約も早期に起動し、(失敗した場合) 更新/挿入は、ロールバックが必要な不要な作業を減らします。

于 2013-11-13T14:32:16.230 に答える