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!

¿Fue útil?

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
scroll top