我正在使用一个带有数字字段的用户输入的小表。用户输入的数字必须比当前最高数字大几个点。如果当前最高得分<1,我还可以检查得分必须是例如1。如果当前最高10&lt; =得分&lt; 10&lt; = 100?
例如:
user score
1 1
1 2
1 4
1 5
1 7
现在,我想要一个约束来检查插入时插入的分数是否大于当前最高分数x的数量。
这样的约束是否可能?
答案 0 :(得分:0)
这种约束很难实现。如果你关心表现,你能简单地输入差异吗?
1 1
1 1
1 2
1 1
1 2
如果您以这种方式执行数据,则可以使用check (score > 0)
然后使用sum(score) over (order by ??)
,其中??
指定行的顺序。
否则,您需要使用触发器或用户定义的函数来实现约束。