关于触发器插入编号的问题
关于触发器的一个问题我有这样的一张“类别”表
create table sort(
sort_no numeric(3),
sort_name varchar(20),
constraint pk_sort primary key(sort_name)
);
两个字段:序号各类别名
问题就是当我插入新的类别时,让这个新类别的序号直接填补缺的序号,比如现在表中只为序号为1,3两个序号的分类,当新插入类别时,它的序号为2,再插入新类别时,其序号为4,本人写了如下的触发器:
create trigger tr_no
on sort
instead of insert
as
declare
@sort_name varchar(20),
@sum int,
@i int,
@str varchar(5)
select @sort_name=sort_name from inserted
select @sum=max(sort_no) from sort
select @i=1
while @i<(@sum+1)
begin
select @str=sort_name from sort where sort_no=@i
if @str=''or @str=null
begin
insert into sort(sort_no,sort_name)values(@i,@sort_name)
break
end
else
begin
select @i=@i+1
end
end
编译没什么问题,但是就是插入不了数据进来,请哪位高手帮忙看一下!