私は、次の表があります。私は必ず誰も追加していないまたは更新することにするために制約を追加したい2つの列に重複する値を防ぐためにテーブル制約を作成するにはどうすればよいですか?
IdNmb EntityIdNmb AttributeIdNmb IsActive
1 22 7 0
2 22 8 0
3 22 9 0
4 22 10 1
:この何かのように見えます
CREATE TABLE [dbo].[EntityAttributeRelship](
[IdNmb] [int] IDENTITY(1,1) NOT NULL,
[EntityIdNmb] [int] NOT NULL,
[AttributeIdNmb] [int] NOT NULL,
[IsActive] [bit] NOT NULL CONSTRAINT [DF_EntityAttributeRelship_IsActive] DEFAULT ((0)),
CONSTRAINT [PK_EntityAttributeRelship] PRIMARY KEY CLUSTERED
([IdNmb] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
にテーブル内のデータの一部をIsActive = 1であるEntityIdNmbのレコードが既に存在する場合、IsActive = 1を持つレコード。
どのようにすればいいですか?
@Eric、時間が許せば、なぜクラスタリングされたビューソリューションtomfutと私はあなたの要求を満足していないのですか?私はCI Viewsをこの種の問題に対する洗練された解決策と考えています。 –
@Lievenと@tomfut、私はこれを行うためのトリガーを作成しましたが、私はあなたの答えを最初に誤解していたので、私もあなたの解決策を試みます。ありがとうございました。 –