identity 的问题,大家帮忙看看?
table:
CREATE TABLE [dbo].[person] (
[sid] [int] IDENTITY (1, 1) NOT NULL ,
[sname] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
record:
sid sname
----------- ----------
1 zhang
2 wei
3 zhi
4 cong
5 xiao
6 xia
7 li
8 wen
9 nuan
10 zhen
11 shao
12 qing
13 sai
14 ping
想法:
我假如删除了,中间的一条记录,然后后面的sid自动减一。
eg:
我删除了
6 xia 这条记录,原来7 li 的自动变成 6 li 后面类似。
我的做法用了触发器:
CREATE TRIGGER del_t ON [dbo].[person]
FOR DELETE
AS
update person
set sid=a.sid-1
from person a,deleted d
where a.sid>d.sid
无法更新标识列 'sid'。
那里出错了。???