假設我們有一個網絡應用程序,支持人員可以查看關於系統的各種信息 。一個這樣的網頁允許用戶在某些數據庫表上執行選擇查詢。這些應用程序可以作爲一個地方來查找有關環境的大部分細節。如何找出sql select語句中使用的表格
數據庫解決方案始終存在,這不是必需的。
我正在尋找方法來找出select語句在Java中查詢哪些表。 那麼有沒有一個正則表達式或任何其他方式來找出表。
假設我們有一個網絡應用程序,支持人員可以查看關於系統的各種信息 。一個這樣的網頁允許用戶在某些數據庫表上執行選擇查詢。這些應用程序可以作爲一個地方來查找有關環境的大部分細節。如何找出sql select語句中使用的表格
數據庫解決方案始終存在,這不是必需的。
我正在尋找方法來找出select語句在Java中查詢哪些表。 那麼有沒有一個正則表達式或任何其他方式來找出表。
最好的方法是在數據庫級別實現它。數據庫具有非常好的安全性定義。您可以定義用戶X只能訪問特定的表。嘗試訪問其他表將導致異常。只要檢查在這種情況下拋出哪個異常並實現處理它的邏輯即可。
其他方法是解析SQL語句並在執行語句之前檢索數據庫表名。
看看下面的discussion。
您使用的數據庫是? mysql中的'explain'機制是你可能希望探索的。這不是用Java實現的,而是作爲SQL的一部分。 –
這是從安全的角度來看?爲什麼不只是在這些特定的表上授予'SELECT'權限? –
這聽起來像是你問如何在sql查詢中使用FROM,這不應受哪種語言發送查詢的影響。請提供更多細節。 – Thomas