Tsql使用同义词添加列

时间:2017-04-25 04:54:55

标签: sql-server tsql sql-server-2005

我必须在表中添加两列

我有一个与该表相关联的同义词

例如:

  

我的表名是table_abc,同义词是table_1

当我尝试以正常方式向表中添加列时,

ALTER TABLE [dbo].[table_1]
ADD test_1 varbinary(MAX),
test_2 varbinary(MAX);

发生以下错误:

  

无法改变'dbo.table_1',因为它不是一张桌子。

使用同义词向表中添加列是否有正确的方法?或者它只是添加列的错误方法?

非常感谢!

2 个答案:

答案 0 :(得分:1)

U无法使用别名更改表,您必须向表中添加列 以这种方式

ALTER TABLE [dbo].[table_abc]
    ADD test_1 varbinary(MAX)

ALTER TABLE [dbo].[table_abc]

ADD test_2 varbinary(MAX)

答案 1 :(得分:1)

我们无法更改在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%'