我有一個自聯接表時刪除或更新它的id我想刪除或更新所有的直接和間接影響的記錄 SQL服務器不允許這種類型的週期級聯我已經決定使用觸發器,但這個觸發器將遞歸地文件,他們將被終止在34級,我不知道記錄和事件的深度我禁用觸發器,並在完成該過程後重新啓用它,我怎樣才能構建一個SQL語句,實現這個邏輯?嵌套的sql語句
Q
嵌套的sql語句
-2
A
回答
2
因爲你的表中有循環引用,一個普通的SQL語句是不夠的。相反,你可以使用下面的食譜寫SQL:
- 創建臨時表要處理的ID。
- 創建一個將引用ID插入臨時表的SQL查詢。確保你不要插入重複項。
- 把查詢在一個循環中,並使用計數器,以確定是否記錄已被添加。如果沒有添加額外的記錄,請退出循環。
- 創建使用臨時表中的ID的更新語句。
- 刪除臨時表。
1
您應該使用像嵌套集合構建的那種數據:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
編輯:好吧,循環引用你就會有一個問題......但依賴於你的數據仍然可以幫助嗎?
相關問題
- 1. 嵌套的Sql select語句
- 2. 嵌套的IF語句SQL
- 3. Oracle的嵌套SQL語句
- 4. 嵌套的Sql語句
- 5. SQL嵌套選擇語句;
- 6. 嵌套組SQL語句
- 7. sql嵌套case語句
- 8. 嵌套SQL案例語句
- 9. SQL - 嵌套select語句?
- 10. SQL嵌套選擇語句
- 11. 嵌套case語句sql
- 12. 如果語句嵌套if if語句嵌套if語句,
- 13. 嵌套SQL語句和選擇(MySQL的)
- 14. SQL嵌套/複雜的選擇語句
- 15. 瞭解嵌套的SQL語句
- 16. 一個簡單的嵌套SQL語句
- 17. 嵌套的SQL語句使用和
- 18. 嵌套SELECT掛我的SQL語句
- 19. 嵌套Select語句?
- 20. 嵌套ifelse語句
- 21. 嵌套if語句
- 22. 嵌套using語句
- 23. 嵌套select語句
- 24. YQL嵌套語句
- 25. 嵌套if語句
- 26. SQL Server 2008中可能的嵌套case語句或IF語句
- 27. VBA在嵌套的條件語句中更改SQL語句
- 28. 重新使用父語句中的嵌套SQL語句在MySQL
- 29. 嵌套if語句中的語句AI
- 30. 嵌套data.table語句的ifelse語句
來吧downvoter ......發表評論。 – spender 2010-05-04 09:21:07
您有深度超過34個級別的父子引用?或者你有關係的循環引用? – Prutswonder 2010-05-04 09:21:45
是我有一個循環引用,這就是爲什麼SQL服務器不允許設置級聯刪除或關係 – Hadad 2010-05-04 09:24:42