Я пробовал несколько библиотек, которые предназначены для анализа / манипулирования / генерации SQL в коде. Самым последним был ActiveQueryBuilder , но я знаю, что их много.
С AQB - вы сможете «проверить» SQL, но проблема, с которой, я думаю, вы столкнетесь, состоит в том, что он не на 100%. Ни один из них, которые я использовал, не обеспечивает идентичные результаты с реальной базой данных. Вы найдете некоторую определенную строку SQL, которая кажется допустимой для вашего анализатора, но недействительной для базы данных или наоборот. Например, в AQB вы не можете иметь подзапрос, не предоставив ему псевдоним, или парсер выдаст исключение - но Oracle с радостью примет и выполнит тот же SQL.
В зависимости от базы данных вы должны попросить БАЗУ ДАННЫХ проверить SQL, не запуская его. Я полагаю, что в SQL Server вы можете использовать оператор Prepare , в Oracle я считаю, что он называется План объяснения .
.
Это единственный способ найти последовательные результаты. Конечно, если ваши запросы должны быть простыми или если вам не требуется 100% точность, это может быть больше работы.