2つの主キーを持つテーブルがある場合:
CREATE TABLE [AttributeMap](
[intParentAttributeId] [bigint] NOT NULL,
[intChildAttributeId] [bigint] NOT NULL,
[datCreatedDate] [datetime] NOT NULL
CONSTRAINT [PK_AttributeMap] PRIMARY KEY CLUSTERED
(
[intParentAttributeId] ASC,
[intChildAttributeId] ASC
)
挿入/選択ステートメントを実行してテーブルにデータを追加する場合、両方のキーに違反しないようにデータを制限するにはどうすればよいですか?
したがって、これを上の表に挿入すると、次のようになります。
INSERT INTO [AttributeMap] VALUES (1, 1, getdate())
INSERT INTO [AttributeMap] VALUES (1, 2, getdate())
INSERT INTO [AttributeMap] VALUES (1, 3, getdate())
INSERT INTO [AttributeMap] VALUES (2, 1, getdate())
キーに違反せずにこのクエリを実行するにはどうすればよいですか?
declare table @temp (intParent int, intChild int)
insert into @temp (1, 1)
insert into @temp (1, 2)
insert into @temp (4, 4)
insert into @temp (5, 5)
insert into AttributeMap (intParentAttributeId, intChildAttributeId, datCreatedDate)
select intParent, intChild, getDate()
from @temp
したがって、AttributeMapは、値4、4、 "date"と5、5"date"の2つの新しい行で終わるはずです。わかる?
乾杯、マット