Error al crear sinónimo en SQL Server 2005 con el mismo nombre de la tabla
-
24-10-2019 - |
Pregunta
Quiero crear sinónimo de una tabla, por lo que todos los demás usuarios en esta base de datos usan este sinónimo en lugar de escribir databasename.schema.table , pero cuando escribo:
CREATE SYNONYM [ACCT_STMT] FOR [AccountStatementPRD].[dbo].[ACCT_STMT]
GO
genera un mensaje de error:
Ya hay un objeto llamado 'ACCT_STMT' en la base de datos. MSG 4606,
¡En Oracle, puedo crear sinónimo con el mismo nombre de la tabla!
Solución
Si todo lo que desea es usarlo solo por nombre, y ya está ejecutando la declaración en el DB correcto, no tiene que usar databasename.schema.tableName, solo use TablenameName
Por ejemplo, en lugar de
SELECT * FROM [AccountStatementPRD].[dbo].[ACCT_STMT]
puedes simplemente hacer
SELECT * FROM [ACCT_STMT]
En cuanto a tener el mismo nombre para el sinónimo, eso no funcionará en el mismo DB
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow