寫下來以後便於查詢
sql server 2008r2, 如果乙個**是hierarchy的有三列,如下
id, name,parentid
1 a null
2 b 1
3 c 1
4 d 2
5 e 4
如果我想刪除(查詢)b以及以下所有節點怎麼辦呢
1,需要recursive的選出來
with cetalias as
(select t.[id],t.[name],t.parentid from yaqitest t
where t.id=2
union all
select t.[id],t.[name],t.parentid from yaqitest t
inner join cetalias parent on t.parentid=parent.id)
select * from cetalias ct
2, 有的時候需要看看資料是否在別的表中用到,資料庫中應該有這個限制。可惜我們沒有,後來因為爛資料不好加
3,刪除。如果中間需要做什麼可以把cetalias匯入到乙個臨時**中搞定
SQL SERVER 級聯刪除
有三個表 company address contact 在address和contact中建立外來鍵,外來鍵id為company的id,那麼就不能任意刪除company。但假如在外鍵約束中把級聯刪除選上,就會連帶address和contact一起刪除。sql server級聯刪除 在刪除主表時,自...
sql server 批量刪除
sql server 批量刪除資料 建立表1 1 create table table1 23 id int primary keyidentity 1,1 4 msg varchar 24 5 loc varchar 24 6 style varchar 24 7 建立表2 1 表2 2creat...
SQL Server 增加 刪除 修改
use test go student表 1 1 新增行 全部列的資訊 insert into student values 9 黎明 1992 06 10 男 1 2 新增行 部分資訊,沒有新增資訊的列顯示null insert into student s sname values 12 趙亮 ...