Как вы показываете список таблиц в другой базе данных? - PullRequest
9 голосов
/ 23 декабря 2008

Я могу использовать:

select * from sys.tables

в mssql, чтобы показать список всех таблиц в текущей базе данных. Можно ли использовать аналогичный синтаксис для отображения списка таблиц в другой базе данных?

Скажем, я использую A с:

use A

оператор, могу ли я показать таблицы в базе данных B?

Ответы [ 2 ]

16 голосов
/ 23 декабря 2008

Это делает это для меня (MS SQL 2005 и новее):

select * from your_database_name.sys.tables

Имейте в виду, что вам (или любому другому контексту аутентификации, который вы используете) все равно потребуется разрешение на чтение для этой базы данных.

Чтобы использовать ваш пример:

use a;
go

select * from sys.tables; -- selects table info from a
select * from b.sys.tables; -- selects table info from b
0 голосов
/ 21 апреля 2009

Другая возможность заключается в использовании:

select * from your_database_name.information_schema.tables
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...