В моей фирме талантливые и умные сотрудники, которые работают очень усердно. Я хотел бы дать им инструмент выполнения SQL, который поможет им избежать распространенных, легко обнаруживаемых ошибок SQL, которые легко сделать, когда они спешат. Кто-нибудь может предложить такой инструмент? Подробности следуют.
Часть задачи операционной команды - написание очень сложных специальных SQL-запросов. Неудивительно, что операторы иногда делают ошибки в своих запросах, потому что они очень заняты.
К счастью, все их запросы - это SELECT, а не SQL-запрос, изменяющий данные, и они все равно работают с копией базы данных. Тем не менее, мы хотели бы предотвратить ошибки в SQL, который они запускают. Например, иногда ошибки приводят к длительным запросам, которые замедляют работу дублирующейся системы и создают неудобства для других, пока мы не найдем виновный запрос и не уничтожим его. Хуже того, иногда ошибки приводят к, по-видимому, правильным ответам, которые мы не улавливаем намного позже, с последующим смущением
Наши разработчики также допускают ошибки в сложном коде, который они пишут, но у них есть Eclipse и различные плагины (такие как FindBugs ), которые перехватывают ошибки по мере их ввода. Я хотел бы дать операторам нечто подобное - в идеале это будет выглядеть
SELECT U.NAME, C.NAME FROM USER U, COMPANY C WHERE U.NAME = 'ibell';
и перед тем, как вы казнили, было бы сказано: "Эй, ты понял, что это декартово произведение? Ты уверен, что хочешь это сделать?" Это не должно быть очень умно - было бы неплохо найти явно отсутствующие условия соединения и подобные очевидные ошибки.
Похоже, TOAD должен сделать это, но я не могу найти ничего о такой функции. Существуют ли другие инструменты, такие как TOAD, которые могут обеспечить такое полу-интеллектуальное исправление ошибок?
Обновление: я забыл упомянуть, что мы используем MySQL.