删除后怎样让ID递减
列表中存了信息 删除后怎样让ID递减ID 是自增的
ID
如 1 1条信息。。。。
2 2条信息。。。。
3 3条信息。。。。
4 4条信息。。。。
删除 1 后
怎么变为
1 2条信息。。。。
2 3条信息。。。。
3 4条信息。。。。
程序代码:CREATE TRIGGER DELID ON TABLE FOR DELETE
AS
BEGIN
IF @@ROWCOUNT=1
UPDATE TABLE SET ID=ID-1 WHERE ID>(SELECT ID FROM DELETED)
ELSE
BEGIN
DECLARE @COUNT INT,@MIN INT ,@II INT
SELECT @MIN=1
SELECT @COUNT=COUNT(*) FROM TABLE WHERE ID>@MIN
SELECT @II=MIN(ID) FROM DELETED
WHILE @MIN<=@COUNT
BEGIN
IF (SELECT COUNT(*) FROM TABLE WHERE ID=@II)=0
BEGIN
UPDATE TABLE SET ID=@II WHERE ID=(SELECT MIN(ID) FROM TABLE WHERE ID>@II)
SET @II=@II+1
SET @MIN=@MIN+1
END
ELSE
SET @II=(SELECT MIN(ID) FROM DELETED WHERE ID>@II)
END
END
END当然也可以在删除之后,将表内的自增列删除,然后再新增自增列,可以看看TRUNCATE的用法