Получение имени базы данных из имени таблицы в SQL Server - PullRequest
0 голосов
/ 11 июня 2019

Мне нужно получить имя базы данных из имен таблиц в SQL Server.Я могу запросить «имена таблиц» в базе данных, но как получить имя базы данных для каждой таблицы?

select * 
from sys.tables;

Вывод:

name    object_id   principal_id    schema_id   parent_object_id    type    type_desc   create_date modify_date is_ms_shipped   is_published    is_schema_published lob_data_space_id   filestream_data_space_id    max_column_id_used  lock_on_bulk_load   uses_ansi_nulls is_replicated   has_replication_filter  is_merge_published  is_sync_tran_subscribed has_unchecked_assembly_data text_in_row_limit   large_value_types_out_of_row    is_tracked_by_cdc   lock_escalation lock_escalation_desc    is_filetable    is_memory_optimized durability  durability_desc temporal_type   temporal_type_desc  history_table_id    is_remote_data_archive_enabled  is_external
DL_CONLog   719055  NULL    1   0   U   USER_TABLE  43:24.3 01:41.0 0   0   0   0   NULL    10  0   1   0   0   0   0   0   0   0   0   0   TABLE   0   0   0   SCHEMA_AND_DATA 0   NON_TEMPORAL_TABLE  NULL    0   0
DL_TIMJobImportLinkBrokerToModule   771110  NULL    1   0   U   USER_TABLE  45:12.1 45:20.7 0   0   0   1   NULL    64  0   1   0   0   0   0   0   0   0   0   0   TABLE   0   0   0   SCHEMA_AND_DATA 0   NON_TEMPORAL_TABLE  NULL    0   0

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Попробуйте использовать

SELECT * FROM  INFORMATION_SCHEMA.TABLES
0 голосов
/ 11 июня 2019

sys.tables выдает список таблиц текущей базы данных.Текущее имя базы данных может быть запросом от db_name().

Если вы ищете список таблиц конкретной базы данных, используйте db1.sys.tables

Не совсем уверен, что вам нужно, но если вам нужна текущая база данных и имя таблицы, вы можетезапрос INFORMATION_SCHEMA.TABLES

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