【发布时间】:2017-05-05 14:58:57
【问题描述】:
我想设置我创建的 SQL Server 表可以拥有的最大行数。问题是我有一个程序不断在我的数据表中写入新数据,但我只需要每列存储一个值。所以我想将此数据表的最大可能行数设置为一个。有谁知道如何做到这一点?
否则,由于到目前为止我还没有找到这样做的可能性,我还考虑过重写我的代码并使用 SQL UPDATE 语句。
我不太确定什么会更好。
【问题讨论】:
-
我认为没有任何内置方法可以限制表的行数。你必须自己处理这个,例如在
AFTER INSERT触发器或其他东西中 -
假设您的行限制类似于 1000... 一旦您运行插入,那么您可以运行删除语句来删除您需要的行数,以便使用 CTE 和ROW_NUMBER 以及其他方式
-
我认为马克的建议是你最好的选择。如果您的能够设置最大值,那么您将面临破坏写入数据库的应用程序的风险。
-
您可以使用permissions。您可以将应用程序及其用户限制为仅更新。这种方法需要您重构应用程序。
-
@marc_s 我想这将是要走的路......
标签: sql sql-server ssms