2009-06-01 2 views
25

В Management Studio вы можете щелкнуть правой кнопкой мыши по группе таблиц, чтобы создать фильтр для списка таблиц. Кто-нибудь понял способ включения нескольких таблиц в фильтр? Например, я бы хотел, чтобы все таблицы с «br_*» и «tbl_*» отображались.SQL Server Management Studio - использование нескольких фильтров в списке таблиц?

Кто-нибудь знает, как это сделать?

ответ

4

Вы можете быть в состоянии свернуть свой собственный аддон SMSS, что позволит вам делать то, что вы ищете:

The Black Art of Writing a SQL Server Management Studio 2005 Add-In

Extend Functionality in SQL Server 2005 Management Studio with Add-ins

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

24

No, вы не можете сделать этого. Когда мы впервые получили Management Studio, я перепробовал все возможные комбинации все, что вы могли бы думать: _, %, *, ", ', &&, &, and, or, |, || и т.д ...

+12

Для такого популярного программного обеспечения с такими огромными расходами на лицензирование SQL Management Studio страдает некоторыми довольно фундаментальными ограничениями. Это только верхушка айсберга. – Contango

+5

Management Studio - это бесплатное программное обеспечение, которое поставляется вместе с лицензией SQL Server. – vaitrafra

1

Поначалу похоже, что он может использовать запрос CONTAINS (например, "br_*" OR "tbl_*"), но, похоже, это не так. Кажется, что поддерживается только значение, которое затем передается в пункт LIKE (например, 'app' становится '%app%').

2

Я использовал Toad для SQL Server (бесплатная версия), которая имеет очень хорошие параметры фильтрации.

0

Ваш удача, я просто победил этот подвиг, хотя мой успех невелик, потому что вы можете фильтровать по схеме, которая позволит вам видеть более 1 таблицы, но вам нужно набирать текст фильтра каждый раз, когда вы хотите его изменить ,

0

Конечно, не так красиво, но для быстрого доступа к информации о схеме вы всегда можете просто использовать таблицу сценариев как ... Создать ... Новое окно редактора запросов, а затем использовать кнопку «Выбор комментария» на панели инструментов редактора прокомментировать все это. Лично я думаю, что это быстрее просмотреть и легче скопировать.

1

Как уже говорилось, вы не можете сделать это в SQL Server Management Studio (вплоть до 2014 года).

Следующий запрос даст вам отфильтрованный список таблиц, если это все, что вам нужно:

SELECT 
    CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS TABLE_SCHEMA_AND_NAME, 
    TABLE_SCHEMA, 
    TABLE_NAME 
FROM 
    INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_SCHEMA IN ('X', 'Y', 'Z') -- schemas go here 
ORDER BY 
    TABLE_SCHEMA, 
    TABLE_NAME; 
0

Это старый я знаю, но это хорошо, чтобы знать, что он может работать, если вы вводите только введя текст «фильтр». Пропустите * или % или любые другие стандартные символы поиска, просто введите br_ или tbl_ или все, что вы хотите фильтровать.

1

Я использую SQL Server Management Студия v17.1 и есть ошибка инъекции SQL в его конструкцию фильтра, так что вы можете избежать по умолчанию

tbl.name like '%xxx%' 

и написать свой собственный запрос (с некоторыми ограничениями) ,Например, чтобы отфильтровать таблицы, которые заканчиваются на «_arch», «_hist», «_purge» Я использовал следующие значения фильтра

_arch') and RIGHT(tbl.name, 5) != N'purge' and RIGHT(tbl.name, 4) != N'hist' and not(tbl.name like N'bbb 

Вы можете использовать SQL Server Profiler, чтобы увидеть построенный запрос и настроить его по мере необходимости.

Не уверен, что эта же ошибка доступна в предыдущих версиях SQL Management Studio или когда она будет исправлена, но пока я доволен результатом.

0

Да, не так красиво, но для быстрого доступа к информации о схеме вы всегда можете просто использовать таблицу сценариев как ... Создать ... Новое окно редактора запросов, а затем использовать кнопку «Выбор комментария» на панели инструментов редактора, чтобы Прокомментируйте все это. Лично я думаю, что это быстрее просмотреть и легче скопировать.

+1

Это вообще не отвечает на вопрос. ОП задает вопрос о том, как фильтровать список таблиц, предположительно до того, как выполнять действия, подобные предложенным – LordWilmore

+0

. Это не отвечает на вопрос вообще! – SimplyInk

Смежные вопросы