如何在SQL Server中设置限制表行?
我想将表格行的限制设置为仅100行。
因此,当表格超过100行时,我想删除第一行,然后将新行添加到最后一行(100)。
我该怎么做?
答案 0 :(得分:1)
我可以向你保证......
请参阅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行并删除其余行。