Дополнительно
Найти все таблицы, содержащие столбец с заданным именем - MS SQL Server
Можно ли запросить имена таблиц, которые содержат столбцы, являющиеся
LIKE '%myName%'
?
1072
20
Поисковые таблицы:
Поисковые таблицы и виды:
Также можно использовать следующий синтаксис:
SQL Server:
Oracle:
Я использую его ВСЕГДА, чтобы найти ВСЕ экземпляры имени столбца в заданной базе данных (схеме).
Это даст вам немного дополнительной информации о схеме, таблицах и столбцах, по которым вы можете использовать или не использовать дополнительные условия в предложении where для фильтрации. Например, если вы хотите видеть только те поля, которые должны иметь значения, добавьте
Вы можете добавить другие условия, я также добавил столбцы в предложение select таким вертикальным образом, чтобы было легко изменить порядок, удалить, переименовать или добавить другие в зависимости от ваших потребностей. В качестве альтернативы вы можете искать только таблицы, используя T.Name. Это очень настраиваемо.
Наслаждайтесь.
Это должно сработать:
Если вы больше в третьей партии инструментов, там много вариантов есть, например:
Они приходят в очень удобно, если ваша база данных содержит зашифрованные объекты (представления, процедуры, функции), потому что вы не можете легко найти их с помощью системных таблиц.
Я не'т знаю, почему так много, вы предлагаете вступать с представлением sys.стол с sys.колонн вы можете просто использовать ниже код:
Выберите имя_объекта(объект) как Имятаблицы,* из sys.столбцы, где имя, как '%Моеимя%'
или
Если вы хотите, чтобы имя схемы, а также:
Если вы просто хотите, чтобы имя таблицы вы можете выполнить:
Если вы хотите, чтобы имя схемы, а также (что в большинстве случаев вы будете, как вы'll имеет много различных схем, и если вы можете помнить все таблицы в базе данных и где она принадлежит, это может быть полезно) выполнить:
и, наконец, если вы хотите его в более удобный формат (хотя это где код (на мой взгляд) становится слишком сложным для простой записи):
обратите внимание, вы также можете создать функцию, основываясь на том, что у меня есть:
Стоит отметить, что функция concat функция была добавлена в 2012 году. Для 2008R2 С и ранее использовать + для конкатенации строк.
Я'вэ переформатирован прок немного, так как я написал это. Это'с чуть более сложным, но сейчас выглядит гораздо сложнее (но это's в прок, так что вы'll никогда не увидеть его), и это's форматная лучше.
Эта версия позволяет иметь его в административной базе данных, а затем выполнить поиск по любой базе данных. Изменения в декларацию о
@дБ
от'мастер'
в зависимости от того, что вы хотите, чтобы по умолчанию базы данных (примечание: с помощью функции concat() функция будет работать только с 2012+, Если вы не измените конкатенации использовать+
операторы).Он от пинал сэр блог
Вы можете найти его из базы данных information_schema.Столбцы имя_столбца фильтр
Следующий запрос даст вам точные имена таблиц базы данных, имеющий имя поля '%моеимя'.
Получить полную информацию: имя столбца, имя таблицы и схемы таблицы..
я просто попробовал это, и это работает прекрасно
Единственное изменение YourDatbaseName к вашей базе данных и YourcolumnName на ваше имя столбца, который вы ищете остальное оставить как есть.
Надеюсь, что это помогло
Я использовал это для той же цели, и это сработало:
Надеюсь, что это'т дубликат ответа, но то, что я хотел сделать, это сгенерировать SQL в SQL, которая позволит мне искать ценности я ищу (не только таблицы с именами полей ( как это'ы, как правило, необходимо для меня, чтобы завершить любой информации, связанной с идентификатором столбца имя я ищу):
Тогда я могу скопировать и вставить запустить мой 1-ый столбец "и SQLToRun-то"... Я тогда заменить на "выбрать * из ' с 'удалить ', и это позволяет мне удалить все ссылки на этот идентификатор! Запишите эти результаты в файл, так что вы их на всякий случай.
Примечание**** убедитесь, что вы устранить любые таблицы bakup перед запуском вашей инструкции delete...
Как Oracle вы можете найти таблицы и столбцы с этим: