您的位置:首页 > 其它

树形结构的处理--数据新增,修改、删除

2009-01-08 10:49 417 查看
--数据结构

表名tb,如果修改表名,则相应修改所有数据处理中涉及到的表名tb

id为编号(标识字段+主键)

pid为上级编号

name为名称,后面可以自行增加其他字段.

/*--数据新增,修改

数据新增,修改(包括修改所属的类别)没有什么技巧

,只需要检查所属的上级是否存在就行了.这个可以简单的用下面的语句来解决:

if exists(select 1 from tb where id=@id) print '存在' else print '不存在'

--*/

/*--数据删除--*/

create proc p_delete

@id int, --要删除的id

@deletechild bit=0 --是否删除子 1.删除子,0.如果@id有子,则删除失败.

as

if @deletechild=1

delete from tb where dbo.f_getmergid(id) like dbo.f_getmergid(@id)+'%'

else

if exists(select 1 from tb where pid=@id)

goto lbErr

else

delete from tb where id=@id

return

lbErr:

RAISERROR ('该结点下有子结点,不能删除', 16, 1)

go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐