Ale*_* Dn 7 sql t-sql sql-server
我有三张桌子:
1)应用程序(AppId,名称)
2)屏幕(ScreenId,名称)
3)关系(AppId,ScreenId)
现在我想对相关表应用一些限制:可以将同一个屏幕分配给多个应用程序,但不能有两个同名的屏幕分配给同一个应用程序.
我知道我可以将Screen.Name添加到关系表,然后在AppId和Screen.Name上创建PK,但我不想要这样的解决方案,因为Screen.Name可能会发生变化.
我还有哪些额外的选择来实现这种限制?
Dam*_*ver 10
您可以基于和表创建索引视图,Relation
并在其中Screen
应用唯一约束.
create view DRI_UniqueScreens
with SCHEMABINDING
as
select r.AppId,s.Name
from
[Schema].Relation r
inner join
[Schema].Screen s
on
r.ScreenId = s.ScreenId
GO
CREATE UNIQUE CLUSTERED INDEX IX_DRI_UniqueScreens
on DRI_UniqueScreens (AppId,Name)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1710 次 |
最近记录: |