sql server 每加一条数据实现自动加一,但怎么实现删除一条数据后自动减一 5
4个回答
展开全部
思路如下
把要删除行的标号记录下来,然后删除该条数据
然后处理 将大于该标号的记录全部标号-1
把要删除行的标号记录下来,然后删除该条数据
然后处理 将大于该标号的记录全部标号-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ID列如果不是自增字段,可以搞个触发器,参考下这个:
create trigger [dbo].[trig_delete] --创建触发器
on 表的名字 --作用于表
for delete --删除数据的时候触发
as
begin
declare @id int,@max_id int --定义变量,@id为删除数据的id号,@max_id为最大id号
select @id=ID列 from deleted --找出删除数据的id号
select @max_id=count(1) from 表的名字 --得出最大id号
while @id<@max_id begin
update 表的名字 --更新表,从删除数据那行的下一行开始id设为@id
set ID列=@id
where ID列=@id+1
set @id=@id+1 --@id加1,使之循环
end
end
create trigger [dbo].[trig_delete] --创建触发器
on 表的名字 --作用于表
for delete --删除数据的时候触发
as
begin
declare @id int,@max_id int --定义变量,@id为删除数据的id号,@max_id为最大id号
select @id=ID列 from deleted --找出删除数据的id号
select @max_id=count(1) from 表的名字 --得出最大id号
while @id<@max_id begin
update 表的名字 --更新表,从删除数据那行的下一行开始id设为@id
set ID列=@id
where ID列=@id+1
set @id=@id+1 --@id加1,使之循环
end
end
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
么有现成的功能。只能自个算,
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |