我为一个类的MMO构建数据库。我试图设置一个检查约束,这样玩家一次只能装备这么多物品。
以下是一些表格:
CREATE TABLE equipped_gear(
equipped_gear_id int not null IDENTITY
);
ALTER TABLE dbo.equipped_gear
ADD CONSTRAINT PK_equipped_gear PRIMARY KEY CLUSTERED (equipped_gear_id);
CREATE TABLE equipped_gear_contents(
content_id int not null IDENTITY,
equipped_gear_id int not null,
loot_id int not null
);
ALTER TABLE dbo.equipped_gear_contents
ADD CONSTRAINT PK_equipped_gear_contents PRIMARY KEY CLUSTERED (content_id);
因此,每个角色都有一个唯一的equipped_gear_id
。这将引用dbo.equipped_gear_contents
表,它将保存他们装备的战利品的价值。
我想为dbo.equipped_gear_contents
创建一个检查约束,这样玩家最多可以装备10个项目。到目前为止,我已经了解到我应该创建一个触发器或一个函数。其他答案接近我想要完成的任务,但没有什么能真正击中头部。
有没有人看到实现这个目标的方法?