Published on

January 15, 2015

Перечисление таблиц в SQL Server с определенной строкой в имени

Вам когда-нибудь приходилось сталкиваться с ситуацией, когда вам нужно было получить все таблицы в базе данных SQL Server, содержащие определенную строку в их имени? Это обычное требование в отрасли, особенно при работе с базами данных, которые следуют определенной схеме именования.

Давайте рассмотрим ситуацию, когда организация изначально приняла схему именования, в которой перед каждым именем таблицы стояла строка ‘tbls_’. Однако с приходом нового менеджера было принято решение удалить этот статический префикс. Теперь задача состоит в том, чтобы получить список всех таблиц, в которых имя содержит строку ‘tbls_’ в любом месте имени таблицы.

Для этого мы можем использовать простой скрипт в SQL Server:

DECLARE @SearchString VARCHAR(256)
SET @SearchString = 'tbls_%' -- Измените SearchString

SELECT name
FROM sysobjects
WHERE TYPE = 'U'
AND crdate <= DATEADD(m, -1, GETDATE())
AND name LIKE '%' + @SearchString + '%'

В этом скрипте мы объявляем переменную @SearchString и устанавливаем ее в желаемую строку, которую мы хотим найти в именах таблиц. Ключевое слово LIKE используется с символом % перед и после строки поиска, что позволяет нам сопоставлять любое вхождение строки в имени таблицы.

Важно отметить, что использование ключевого слова LIKE с подстановочными знаками может повлиять на производительность, так как может потребоваться сканирование всех имен таблиц в базе данных. Однако это гарантирует точные результаты.

Вы можете изменить условие LIKE в соответствии с вашими конкретными бизнес-потребностями. Например, если вы хотите искать таблицы, которые начинаются с ‘tbls_’, вы можете изменить переменную @SearchString на 'tbls_%'.

Используя этот скрипт, вы легко можете получить список всех таблиц в вашей базе данных SQL Server, содержащих определенную строку в их имени. Это может быть полезно для различных задач, таких как анализ данных, обслуживание базы данных или даже во время собеседований.

Для более сложных сценариев вы можете изучить другие техники, такие как использование курсоров или динамического SQL. Однако для большинства случаев приведенный выше простой скрипт должен быть достаточным.

Помните, что понимание того, как запрашивать и изменять имена таблиц в SQL Server, является важным навыком для любого профессионала в области баз данных. Это позволяет вам эффективно управлять и работать с объектами вашей базы данных.

Так что, в следующий раз, когда вам понадобится перечислить таблицы с определенной строкой в их имени, попробуйте этот скрипт и посмотрите, как он упрощает вашу задачу!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.