如何设置限制表行SQL?

时间:2017-03-27 01:48:44

标签: sql-server sql-server-2005

如何在SQL Server中设置限制表行?

我想将表格行的限制设置为仅100行。

因此,当表格超过100行时,我想删除第一行,然后将新行添加到最后一行(100)。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我可以向你保证......

  1. 创建一个触发器,如果​​> 100然后删除第一条记录。
  2. 请参阅here作为指南。

答案 1 :(得分:1)

我想你要做两件事 i)创建触发器

declare @MaxRowLimit int=5
declare @t table(col1 int)
insert into @t values(1),(2),(3),(4),(5)

insert into @t VALUES(12)

;With CTE as
(


select top (@MaxRowLimit) col1 

from @t t1
order by t1.col1 desc
)
,CTE1 as(
select * from @t t
where not exists
(select  col1 

from cte t1 where t.col1=t1.col1
)
)
delete from cte1
select * from @t

ii)如果是批量插入,那么你需要在批量插入之前进行操作。 如果批量插入计数大于100,则排序并保留最后100行并删除其余行。