![]() |
1
4
在检查约束中使用UDF可能会失败 snapshot isolation 或 multirow updates . 假设您的所有fk1和pk1值当前(并且将始终为)为正数,您可以使用以下定义创建计算列
然后添加一个唯一的约束。或者如果不能做出这样的假设,那么也许
|
![]() |
2
9
自从我把第一个答案弄错以后,我开始了一个新的答案。 听起来您可以通过重新考虑一下表设计来解决这个问题,以避免让您强行执行业务规则的约束。 从mytable中删除isprimary列并将primaryPersonid列添加到引用primary person的另一个表中如何? 这样,结构本身就会强制FK表中只有1个条目是每个人的主要条目。 |
![]() |
3
6
SQL 2005不提供将WHERE子句应用于唯一索引(如SQL 2008)的功能。但是,有几种方法可以解决SQL 2005中的问题:
|
![]() |
4
3
您可以尝试创建一个函数,然后使用检查约束:
试试看,让我知道它是否有效。不过不是很优雅…… |
|
Johnny T · 基于当前值的SQL合并表[重复] 4 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 5 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 5 月前 |
![]() |
Sax · 规范化Google表格(第一步) 5 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 5 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 5 月前 |