2015-04-26 3 views
0

Я добавил новый столбец в таблице, когда я выбираю эту таблицу с именем схемы, показывает новый столбец, когда я выбираю этот столбец без упоминания имени схемы, SQL не идентифицирует новый столбец, поэтому в основном:Новый столбец таблицы, не выбирающий

Select new_column From schema.table работы
Select new_column from table не работает

Пожалуйста, скажите мне, почему это происходит &, как это исправить, я хочу эту колонку доступной без указания имени схемы.

+0

Вы используете MS SQL Management Studio? Возможно, это глупо, но с помощью этого инструмента вы должны обновить среду, чтобы увидеть вновь созданный столбец или таблицу. – Fka

+0

Да, также приложение, отправляющее запрос вставки без имени схемы, терпит неудачу из-за недавно добавленного столбца – alphaprolix

+0

Вы уверены, что не используете транзакцию или не совершаете ее? Какая версия базы данных есть? – Fka

ответ

2

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

+0

, как бы я мог сделать этот столбец без упоминания имени схемы? – alphaprolix

+0

Вы shoud меняете схему по умолчанию для пользователя, которая содержит эту таблицу: 'ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;' –

+1

@GiorgiNakeuri, ваше намерение иметь две разные таблицы с тем же именем, но в другой схеме? Если это так, вы должны скомпилировать все имена объектов, чтобы избежать двусмысленности, включая объекты в схеме 'dbo'. –

0

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

Замедление произошло потому, что в предыдущих версиях продукта (Dynamics AX) они (Microsoft) не применяли схему к объектам базы данных, теперь они добавили схему &, создав представление для обратной совместимости.