mssql中的约束
我们有表mssql中的约束,sql,sql-server-2008,entity-framework-4,constraints,Sql,Sql Server 2008,Entity Framework 4,Constraints,我们有表Person(Id,Name,Type)和Role(Id,Name)以及绑定M:N表Person\u-Role(Person\u-Id,Role\u-Id),意思是“一个人可以有一组角色” 我们所要做的就是在MS SQL 2008 R2中有一个唯一的约束,该约束保持 (Person.Name、Person.Type、Person.SetOfRoles)。也就是说,(杰克,1,{A,B})和(杰克,1,{B})不是两面派 如果我们能使用Oracle的预插入触发器,它将解决所有问题 重要更新
Person(Id,Name,Type)
和Role(Id,Name
)以及绑定M:N
表Person\u-Role(Person\u-Id,Role\u-Id)
,意思是“一个人可以有一组角色”
我们所要做的就是在MS SQL 2008 R2中有一个唯一的约束,该约束保持
(Person.Name、Person.Type、Person.SetOfRoles)
。也就是说,(杰克,1,{A,B})
和(杰克,1,{B})
不是两面派
如果我们能使用Oracle的预插入触发器,它将解决所有问题
重要更新:我们在实体框架中使用MS SQL,并且没有确切的insert SQL命令。使用“而不是insert”触发器
这里的示例:您可以在Sql Server中使用而不是触发器
CREATE TRIGGER InsteadTrigger on Role
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO Role
-- Your logic goes here
FROM inserted
END
GO
很好,谢谢,但是我们使用MS SQL和实体框架,我们没有确切的插入SQL。然后呢???您知道表的结构,所以您知道插入的
表是什么样子的。你自己说过你可以在甲骨文中做到。或者使用一个存储的proc,它获取所有数据并包含逻辑。