Как найти неправильное определение IN JOIN

Вы знаете, как найти неправильное определение в JOIN ... ON? Два дня я писал неправильный код, например:

SELECT * 
FROM table1 a JOIN 
     table2 b
     ON a.Id = a.Id

Я не могу быть уверен, что этой ошибки нет и в других функциях, процедурах или представлениях... У меня много объектов, и я хотел бы найти эти ошибки, если они существуют. Есть ли какой-то простой способ найти его, или мне нужно написать какую-то утилиту?

Итак, вы не знаете, в скольких местах вы использовали этот код?

Salman A 22.02.2019 15:07

Невозможно проверить экземпляры этих типов, вы должны вручную проверять и подтверждать все (предложение on с точной бизнес-логикой, основанной на условиях).

Yogesh Sharma 22.02.2019 15:07

Это SQL Server? Вы можете проверить таблицу syscomments.

Sean 22.02.2019 15:10

Вы не сообщаете нам, какая у вас среда разработки, поэтому мы не можем сказать вам, как находить запросы.

philipxy 24.02.2019 01:24
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
4
61
1

Ответы 1

Вы можете выполнить поиск в таблице системные комментарии для следующих экземпляров:

select distinct object_name(id)
    from sys.syscomments
    where text like '%a.Id = a.Id%'

Это нельзя использовать, потому что я не знаю точно синтаксис a.Id = a.Id В объединении процедуры, функции, представления - это разные таблицы и объединения, и я хотел бы найти только "неправильный" синтаксис. Это должен быть динамический запрос..... левая сторона равна правой стороне

user2408345 11.03.2019 10:19

Другие вопросы по теме