6
我想測試給定的SQL語句是否在語法上和語義上有效(即沒有語法錯誤並且沒有字段拼寫錯誤)。通過Oracle JDBC驅動程序解析SQL
對於大多數數據庫Connection.prepareStatement
和PreparedStatement.getMetaData
會做的伎倆(沒有例外==好的查詢)。不幸的是,Oracle的最新驅動程序只解析這樣的SELECT查詢,而不是其他類型的查詢。老司機甚至不這樣做。
是否有Oracle提供的用於解析SQL語句的其他工具?
Wohooo!看起來不錯,明天會試一試:)謝謝! – Aivar 2010-10-06 15:18:29
它真的有效!再次感謝:) – Aivar 2010-10-08 08:37:57
它有這個「小」的缺點,如果你嘗試使用這個函數檢查DDL(如創建表),DDL得到執行。例如。 sql_is_valid('create table test(id int)'); 實際上創建了一張表 但是可以通過爲您的測試字符串添加解釋計劃來繞過它(如果您的用戶有plan_table) – 2015-03-20 08:29:32