CREATE TRIGGER [pr_fqbm] ON [dbo].[Tsc_fq]
FOR INSERT
ASbegin
declare @ID int
declare @lcbh varchar(50)
select @ID = ID from inserted
SELECT @lcbh=MAX(lcbh) FROM tsc_fq WHERE parent = @ID
set @lcbh=left(@lcbh,len(@lcbh)-2)+right('00'+cast(cast(right(@lcbh,2) as int)+1 as varchar),2)
if @lcbh is null
SEt @lcbh=@lcbh+'01'
update tsc_fq set lcbh=@lcbh where id=@ID
end我新增了一条数据,为什不执行修改呀
FOR INSERT
ASbegin
declare @ID int
declare @lcbh varchar(50)
select @ID = ID from inserted
SELECT @lcbh=MAX(lcbh) FROM tsc_fq WHERE parent = @ID
set @lcbh=left(@lcbh,len(@lcbh)-2)+right('00'+cast(cast(right(@lcbh,2) as int)+1 as varchar),2)
if @lcbh is null
SEt @lcbh=@lcbh+'01'
update tsc_fq set lcbh=@lcbh where id=@ID
end我新增了一条数据,为什不执行修改呀
id lcbh parent
1 p00001 0
2 p0000101 1
3 p0000102 1
4 p000010101 2
5 2现在插入了5(id为自动增加),但lcbh没有更新呀
select @ID = ID from inserted --@ID = 5
SELECT @lcbh=MAX(lcbh) FROM tsc_fq WHERE parent = @ID --根本没有parent = 5的数据,所以@lcbh为null
http://blog.csdn.net/roy_88/archive/2006/12/01/1424370.aspx