0

我想为一个表创建同义词,所以这个数据库中的所有其他用户都使用这个同义词而不是写 databasename.schema.table,但是当我写的时候:

CREATE SYNONYM [ACCT_STMT] FOR [AccountStatementPRD].[dbo].[ACCT_STMT]
GO

它会生成错误消息:

数据库中已经有一个名为“ACCT_STMT”的对象。消息 4606,

在 oracle 中,我可以创建具有相同表名的同义词!

4

1 回答 1

1

如果您只想按名称使用它,并且您已经在正确的数据库中执行了该语句,则不必使用 databasename.schema.tablename,只需使用 tablename

例如,而不是

SELECT * FROM [AccountStatementPRD].[dbo].[ACCT_STMT]

你可以做

SELECT * FROM [ACCT_STMT]

就同​​义词具有相同的名称而言,这将不起作用DB

于 2011-03-15T13:06:34.623 回答