请问Insert 触发器的新表怎么表示?

请问Insert 触发器的新表怎么表示? 这个触发器的目的是使某个表的ID字段自动加一, 但我找不到插入时数据储存在哪里!

我的触发器如下:

CREATE TRIGGER TriggerAddNewCanton ON Canton FOR INSERT AS
declare @newkeyid int;
declare @recordcount int;
declare @newlcode varchar(10);
declare @templcode varchar(10);
BEGIN
select @recordcount = count(cantonid), @newkeyid = max(cantonid) from canton
if @recordcount = 0
begin
SELECT cantonid = 1
end
else
begin
SELECT cantonid = @newkeyid+1
end
END

---------------------------------------------------------------

在instered
还有这一句好象可以优化一下:
select @recordcount = count(cantonid), @newkeyid = max(cantonid) from canton
if @recordcount = 0
begin
SELECT cantonid = 1
end
else
begin
SELECT cantonid = @newkeyid+1
end

改成:
select @newkeyid = isnull(max(cantonid),0)+1 from canton
然后:
update a set cantonid=@newkeyid from canton a,instered where.....

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus