Я пытаюсь прочитать имена столбцов таблицы на SQL сервере (позже будут использоваться в C#). Решение вроде:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'my_table_name'
Вчера все работало нормально! но на данный момент я не могу получить правильный результат. Потому что, когда я запускаю весь запрос, он возвращает пустую таблицу (заголовки столбцов без значения), а когда я запускаю это
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
То, что я получаю, не содержит фактических TABLE_NAME, которые я ищу . В результате я получаю таблицу (результат запроса) с этими именами в столбце TABLE_NAME (вместо настоящих имен таблиц):
- spt_fallback_db
- spt_fallback_dev
- spt_fallback_usg
- spt_monitor spt_values
Значения для столбца результатов TABLE_CATALOG всегда являются «master», а для столбца TABLE_SCHEMA - «dbo». Результат такой:
TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME .....
-------------------------------------------
master | dbo | spt_monitor
-------------------------------------------
master | dbo | spt_values
.....
Я думаю, вместо того, чтобы читать список таблиц, он читает некоторые другие root вещи.