Я должен добавить две колонки в таблицу
И у меня есть синоним, связанный с этой таблицей
Например:
Моя таблица называется table_abc, а синонимы table_1.
Когда я пытаюсь добавить столбец в таблицу обычным способом,
ALTER TABLE [dbo].[table_1]
ADD test_1 varbinary(MAX),
test_2 varbinary(MAX);
Возникает следующая ошибка:
Невозможно изменить 'dbo.table_1', потому что это не таблица.
Есть ли правильный способ использования синонимов для добавления столбца в таблицу? или это просто неправильный способ добавить столбец?
Большое спасибо!
2 ответа
Вы не можете изменить таблицу с псевдонимом, и вы должны добавить столбец в таблицу таким образом
ALTER TABLE [dbo].[table_abc]
ADD test_1 varbinary(MAX)
И
ALTER TABLE [dbo].[table_abc]
ADD test_2 varbinary(MAX)
Мы не можем изменять синонимы, созданные в таблице на Sql Server.
Мы можем только сделать
CREATE SYNONYM (Transact-SQL)
DROP SYNONYM (Transact-SQL)
Если мы хотим изменить основную таблицу
alter table table_abc
add test_1 varbinary(MAX),
test_2 varbinary(MAX);
** Получить имя таблицы от имени синонима **
SELECT base_object_name,* FROM sys.synonyms where name like'%Synonym name%'
Новые вопросы
sql-server
Microsoft SQL Server - это система управления реляционными базами данных (RDBMS). Используйте этот тег для всех выпусков SQL Server, включая Compact, Express, Azure, Fast-track, APS (ранее PDW) и Azure SQL DW. Не используйте этот тег для других типов СУБД (MySQL, PostgreSQL, Oracle и т. Д.). Не используйте этот тег для проблем, связанных с разработкой программного обеспечения и мобильных устройств, если только он не связан напрямую с базой данных.