Chciałbym przetestować, czy dane polecenie SQL jest poprawne pod względem składniowym i semantycznym (tj. Bez błędów składni i bez błędów ortograficznych).Parsowanie SQL za pomocą sterownika JDBC Oracle
Dla większości baz danych Connection.prepareStatement
i PreparedStatement.getMetaData
zrobiłoby lewę (bez wyjątku == dobre zapytanie). Niestety najnowszy sterownik Oracle analizuje tylko takie zapytania SELECT, ale nie inne zapytania. Starsi kierowcy tego nie robią.
Czy Oracle udostępnia inne narzędzie do analizowania instrukcji SQL?
Wohooo! Wygląda ładnie, spróbuję jutro :) Dzięki! – Aivar
To naprawdę działa !! jeszcze raz dziękuję :) – Aivar
Ma tę "drobną" wadę, że jeśli spróbujesz DDL (jak utworzyć tabelę) sprawdzoną przez tę funkcję, DDL zostanie wykonany. Na przykład. sql_is_valid ('create table test (id int)'); faktycznie tworzy tabelę Ale można ją ominąć dodając plan wyjaśniający do testowanego ciągu (jeśli użytkownik ma plan_table) –