在 SQL 中设置表行数限制
我想设置表的行数限制。我该怎么做呢?
例如我的表中有 50 行。
I want to set the limit for my table's rows. How can I do it?
For example 50 rows in my table.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 CHECK 约束。例如:
Use a CHECK constraint. E.g.:
您指的是限制查询结果吗?
如果是这样,在 SQL Server 2008 中,您可以使用
TOP
如果您正在考虑实际限制数据库表中的记录数量,则可以使用
TRIGGER
中的 IF 语句,就像@Shark 已发布,将是我的解决方案。Are you referring to limiting the results of a query?
If so, with SQL Server 2008 you can use
TOP
If you're looking at actually limiting the amount of records in the database table, then an IF statement in a
TRIGGER
, like @Shark has posted, would be my solution.您想要的是有一个 INSTEAD OF INSERT 触发器来检查当前行数。如果已经 50,您将使用
RAISERROR
引发错误。如果没有,您只需插入
该记录。像这样:
What you want is having a
INSTEAD OF INSERT
trigger that checks the # of current rows. If already 50, you will raise an error by usingRAISERROR
. If not, you justinsert
the record.Like this:
在表上创建一个
AFTER INSERT
触发器。以下是对您的要求相对有效的方法:Create an
AFTER INSERT
trigger on the table. Here's something that would be relatively effective with your requirement: