目前我正在開發一個自動化構建過程,它也會執行一些數據庫更改。這可能是任何類型的語句(ALTER; SELECT; UPDATE; CREATE; DROP ...) 如果在這些SQL腳本中存在任何語法錯誤,我想盡早地拒絕構建。搜索工具進行檢查(我的)SQL語法
在網上搜索幾個小時後,我終於決定要求編程volk尋求幫助。
我真的不想自己開發這個工具。我自己開發它意味着維護它,甚至會在某些情況下冒數據泄露的風險。 (如果我需要執行一個語句並且無法回滾)
我在尋找的是一個仍然保持的(開源)工具。完美的是在某些Linux發行版的存儲庫中找到這個工具。
有沒有人知道這樣的工具?
我已經找到了一些在線的SQL Checker,但我不想發送內部數據到外部網絡。編輯: 也許我需要提供一些額外的背景信息。構建過程將由一個持續集成系統使用。我想要確保提交的sql文件是可執行文件。因此,我想向buildscript添加一個ant任務,如「testScript」,它將採用SQL腳本,檢查語法並在失敗時失敗。 例如,它可能發生在開發人員完成語句並將複製粘貼到SQL腳本中,但只是選擇了「TER TABLE」而不是「ALTER TABLE」。我正在搜索的語法檢查程序應該會發現這些簡單的錯誤類型,這會在稍後的階段中使構建失敗,並導致構建失敗。在最好的情況下,它可以輸出錯誤的陳述和安全的位置來糾正錯誤。
你可以在這裏查看相同問題的答案http://stackoverflow.com/questions/956507/how-can-i-check-the-sql-syntax-in-a-sql-file –
我看到了這些答案,但這些都不符合我的問題。交易:開發自己的測試工具|在線檢查器:數據輸出到專用網絡|使用基本詞法分析器:開發工具我自己 –
如果您的sql語句分別位於各自的行中,則可以通過運行一系列簡單的命令來驗證sql語法。我添加了一個解釋如何在這裏的答案:http://stackoverflow.com/a/37019893/28037 – culix