Ошибка при создании синонима в SQL Server 2005 с тем же именем таблицы - PullRequest
0 голосов
/ 15 марта 2011

Я хочу создать синоним для таблицы, поэтому все другие пользователи в этой базе данных используют этот синоним вместо записи databasename.schema.table , но когда я пишу:

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

выдает сообщение об ошибке:

В базе данных уже есть объект с именем ACCT_STMT.Msg 4606,

в oracle, я могу создать Синоним с тем же именем таблицы!

1 Ответ

1 голос
/ 15 марта 2011

если все, что вам нужно, это использовать его только по имени, и вы уже выполняете оценку в правильной БД, вам не нужно использовать databasename.schema.tablename, просто используйте имя таблицы

например, вместо

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

Вы можете просто сделать

SELECT * FROM [ACCT_STMT]

, если у него одно и то же имя для синонима, оно не будет работать в том же DB

...