是否有一個工具告訴你(或給你一個提示)爲什麼一個特定的select語句不會返回給定數據庫中當前數據的任何行。找出爲什麼SQL select沒有返回任何數據的工具
例如,如果你有以下4個表連接
select *
from a, b, c, d
where a.b_id = b.id
and b.c_id = c.id
and c.d_id = d.id
如果有哪個滿足的條件a.b_id =也b.id其滿足b.c_id = c.id但沒有排又一排排它滿足條件c.d_id = d.id它會突出顯示c.d_id = d.id作爲問題。
也就是說,它會制止where子句,並找出哪些子條件返回true,並突出顯示那些不返回true的子條件。
對於複雜的查詢來說,它不能很好地工作,但許多select語句都是簡單地連接到大量表上。
當創建測試數據以執行應用程序代碼的和平或調試實時系統的問題時,這將非常有用。
圖形說明工具(顯示實際展示路徑的計劃)接近,但它們顯示的信息太多,並且不突出顯示選擇標準中缺失的鏈接。
我使用postgres,sqllight和mysql,但會對其他數據庫/平臺的工具如何工作感興趣。
我也對任何manula技術感興趣。
其他人有這個問題嗎?
如果我寫了這樣的工具,有人會感興趣嗎?
+1。 10分鐘前我做了同樣的事情! – 2008-11-17 23:11:11
我使用完全相同的策略!所以我不會是一個爲我做的工具。即從where子句的頂部開始,直到查詢「剎車」。 – Mark 2008-11-17 23:16:59
所有它可以節省我的是高亮顯示,F5,高亮顯示,F5 - 它不會經常發生,因爲它很容易自動調整,因爲從SP或視圖提取代碼並添加適當的線束通常需要更長的時間。 – 2008-11-17 23:24:49