我需要在 SQL Server Compact 3.5数据库表中设置最大行数:数据库由一些表组成,每个表应该有不同的最大行数。
如果答案是肯定的,那么表格满了时的默认规则是什么?我可以设置自定义规则(例如,我会删除最少ID
的行,其中ID
是一列)?
答案 0 :(得分:1)
恕我直言答案是否定的 - SQL Server没有您所要求的配置选项。
使用支持触发器的SQL Server版本,您可以通过BEFORE INSERT触发器(每个表一个)实现您想要的...这将允许实现您需要的任何“表满”情况的规则......
由于SQL Server Compact不支持触发器,因此我没有看到实现您要求的方法......
答案 1 :(得分:1)
如果没有触发器,您可以拥有一个包含一列整数1到最大行#的表,然后在表中只允许最多行#定义一个具有UNIQUE约束和外部行的行号列键约束指向具有1到最大行#的表。您需要处理将下一行编号保持在正确的值,并且一旦到达最大行#,您将需要编写代码来处理外键约束异常。显然,这是一个非常大的黑客,并且维护起来不会很好。