create
table
tb(id
int,pid
int,name
nvarchar(10
))insert
tb select1,
null,'
山東省'
union
allselect2,
1,'煙台市
'union
allselect4,
2,'招遠市
'union
allselect3,
1,'青島市
'union
allselect5,
null,'
四會市'
union
allselect6,
5,'清遠市
'union
allselect7,
6,'小分市'go
--刪除處理觸發器(同步刪除被刪除節點的所有子節點)
create
trigger
tr_deletenode
ontb
fordelete
asif
@@rowcount=0
return
--如果沒有滿足刪除條件的記錄,直接退出
--查詢所有被刪除節點的子節點
declare
@ttable
(id
int,
level
int)
declare
@level
intset
@level=1
insert
@tselect
a.id,
@level
from
tb a,deleted d
where
a.pid
=d.id
while
@@rowcount
>
0begin
set@level
=@level+1
insert
@tselect
a.id,
@level
from
tb a,@tb
where
a.pid
=b.id
andb.
level
=@level-1
enddelete
afrom
tb a,@tb
where
a.id
=b.id
go--
刪除delete
from
tb where
id in(2
,3,5
)select
*from
tb/*
--結果
id pid name
---------------- ----------------- ----------
1 null 山東省
--*/ if
object_id('
tb') is
notnull
drop
table
tb go
create
table
tb(id
int,name
varchar(50
),parentid
int)
goinsert
into
tb select1,
'工具',
0union
allselect2,
'工具1',
1union
allselect3,
'工具2',
1union
allselect4,
'工具3',
1union
allselect6,
'工具21',
2union
allselect7,
'工具311',
3union
allselect8,
'工具211',
6union
allselect9,
'系統',
0union
allselect
10,
'系統1',
9go--2000 寫法
ifobject_id('
dbo.f_getchirdnode()')
isnot
null
drop
function
dbo.f_getchirdnode
gocreate
function
f_getchirdnode(
@idint
)returns
@t_level
table
(id
varchar(3
) ,
level
int)
begin
declare
@level
intset
@level=1
insert
into
@t_level
select
@id,
@level
while
@@rowcount
>
0begin
set@level
=@level+1
insert
into
@t_level
select
a.id ,
@level
from
tb a ,
@t_level
bwhere
a.parentid
=b.id
andb.
level
=@level-1
endreturn
endgo
select
*from
tb a
where
exists
(select
*from
f_getchirdnode(
1) b
where
a.id
=b.id)
--查詢
delete
from
tb where
exists
(select
*from
f_getchirdnode(
1) b
where
tb.id
=b.id)
--刪除
go--
2005
declare
@idint
set@id=1
;with
t as
(select
*from
tb where
id =
@idunion
allselecta.*
from
tb a,t b
where
a.parentid
=b.id
)delete
from
tb where
exists
(select
1from
t where
tb.id
=id)
--刪除
--select * fromt --查詢
select
*from
tbdrop
table
tb
javascript 子節點刪除
1.刪除子節點的時候其餘子節點的下標索引也會發生變化。如刪除了第乙個子節點,則下一子節點會變為第乙個。x document.getelementbyid ret list x.getelementsbytagname a len list.length for i 0 ilist.length也是動...
節點的刪除 同時刪除所有繫結要節點上的物件
1.關於節點的刪除 1.分析 0.scenemanager從節點列表中刪除節點 1.要從父節點中刪除該節點.2.基於ogre設計的設計.scenenode沒有提供銷毀movableobject物件的函式.但是有解綁與遍歷movable的能力.此問題簡單為解綁movable 3.節點上一般都擁有一系列...
查詢節點 操作節點 刪除節點
insertbefore 在指定的已有子節點之前插入新的子節點 ul.insertbefore linew,li2 replacechild 該方法用新節點替換某個子節點 兩個引數 replacechild 要插入的節點,被替換的節點 返回被替換的節點 document.body.newnode v...