请教个触发器的写法
table:
t_news_sort
字段:
id
ParentId
SortName
path
一个分类表,path是我后加的字段,现在我想当执行insert 或update时,可以记录下这个树的路径,path
的路径应该是象下面这样
其数据为
id parentid sortname path
1 0 t1 1
2 1 t1_1 1,2
3 2 t1_1_1 1,2,3
.......
请问高手应该如何写?
------解决方案--------------------没看到什么意思~...数据给点
------解决方案--------------------为什么要这样记录?
------解决方案--------------------好象我以前写过一个相关的...
------解决方案--------------------路过帮顶
------解决方案--------------------假设你的原有数据的path都是正确的,触发器可以如下:
create trigger tr_tablename
on tablename
for insert,update
as
set nocount on
if update (id) or update(parentid)
begin
update a
set path=b.path+ ', '+cast(a.id as varchar)
from tablename a,tablename b,inserted i
where a.id=i.id
and a.parentid=b.id
end
go
ps:最好不要打开数据的的递归触发器选项
再PS:应该限制已经有下级的记录的parentid修改,如果允许修改,那就会要求触发器可能修改本记录以及其下级的记录的path,以上触发器未实现这个功能
------解决方案--------------------顶一下
等高手来写吧~~
insert 时简单点
update 难实现
^_^ ^_^ ^_^
------解决方案--------------------做是可以,不建议这么做,维护相当麻烦