sql無限級
❶ sql遞歸或級聯刪除操作,無限極,無限量
設置外鍵,在資料庫中啟用級聯刪除和級聯更新選項
❷ 問個無限極分類的SQL查詢
select id from 表 where parentit=2 or parentid in (select id from 表 where parentit=2)
如果是無限級別的子集下去,就要用循環了
declare @t table(id int)
insert into @t values(2)
while exists (select id from 表 where parentid in (select id from @t) and id not in (select id from @t))
begin
insert into @t select id from 表 where parentid in (select id from @t) and id not in (select id from @t)
end
delete from @t where id=2
select id from @t
select id from @t
❸ sql 無限極分類 遞歸查詢
select * from 表名 where pid>10
從你的示例數據無法看出完整的編碼規則,以上提供的SQL語句可能不適合實際當中的其他情況,但一定能適合你的示例數據。希望採納,謝謝!
❹ 什麼是 無限極分類(php。資料庫)
那是一種關聯關系....sql 里可以叫"自連接" 假設:表 Category 有以下欄位: Id(PK),Cate_Name(varchar),Cate_Parent_Id(int) 數據: Id(編號ID) Cate_Name(類別名稱) Cate_Parent_Id(父級Id) 1 BaseCategory 0 2 News 1 3 Article 1 4 Story 3 說明: Id 為 1 的基類別(沒有父級類別) News,Article 為 基類別下的子分類 Story 為 Article 下的子分類 層次關系: 0 - 2 - 3 - 4 這樣就可以簡單實現無限分類的資料庫的設計了 使用: 給出Id 獲取到它的父類別和所有子類別 Function getParentCategory($Id){ $sql = "select * from Category where Id = (select Cate_Parent_Id from Category where Id = $Id)"; $rs = mysql_query($sql,$conn); ...... //省事期間,給出偽代碼吧 if(記錄不存在 或者 $Id = 1){ return false; //無父級或不存在 }else{ return 查詢出的父級數據數組; } } Function getChildCategory($PId){ $sql = "select * from Category where Cate_Parent_Id = $PId"; 存在則返回數據數組 否則返回false } 上面只是簡單說明下大致思路.. php,J2ee的我沒手寫過,都是通過支持ORM的MVC框架去配置出來的. asp的倒是寫過,需要的話,可以發你 只要邏輯關系整清楚了,就不難了...至於頁面展示,可以用JS或者AJAX
❺ sql 查詢:無限極分類,獲取父類下所有子類
這問題很有趣哦!很多公司面試經常提到!有三種辦法:
1.父類子類都各自建表(不推薦)
2.子類父類同在一張表(推介)
3.還有一種做法記不清了。
下面說說第二種做法吧!
你可以在資料庫中建一張表都擁有以上的欄位,然後在hibernate配置文件里配置一對多的關系,自己類對自己類做一對多的關聯,具體配置你可以在一些論壇網站上搜到的。然後查詢時你只要按id=父類的那個id去查一遍就全出來了.