CREAR SINÓNIMO

Purpose

Use la instrucción CREATESYNONYM para crear un sinónimo, que es un nombre alternativo para una tabla, vista, secuencia, procedimiento, función almacenada, paquete, vista materializada, objeto de esquema de clase Java, tipo de objeto definido por el usuario u otro sinónimo.

Los sinónimos proporcionan independencia de datos y transparencia de ubicación. Los sinónimos permiten que las aplicaciones funcionen sin modificaciones, independientemente del usuario que posea la tabla o la vista y de la base de datos que contenga la tabla o la vista. Sin embargo, los sinónimos no sustituyen a los privilegios de los objetos de base de datos. Se deben otorgar privilegios apropiados a un usuario antes de que pueda usar el sinónimo.

puede referirse a los sinónimos de las siguientes instrucciones DML: SELECTINSERTUPDATEDELETEFLASHBACKTABLEEXPLAINPLAN y LOCKTABLE.

Puede hacer referencia a sinónimos en las siguientes instrucciones DDL: AUDITNOAUDITGRANTREVOKE y COMMENT.

Consulte también:

Conceptos de base de datos Oracle para obtener información general sobre sinónimos

Requisitos previos

Para crear un sinónimo privado en su propio esquema, debe tener el privilegio del sistema CREATESYNONYM.

Para crear un sinónimo privado en el esquema de otro usuario, debe tener el privilegio del sistema CREATEANYSYNONYM.

Para crear un PUBLIC sinónimo, debe tener la etiqueta CREATEPUBLICSYNONYM sistema de privilegio.

la Sintaxis

create_synonym::=

Descripción de create_synonym.gif sigue

Descripción de la ilustración create_synonym.gif

la Semántica

O REEMPLACE

Especifique ORREPLACE para volver a crear el sinónimo, si ya existe. Use esta cláusula para cambiar la definición de un sinónimo existente sin eliminarlo primero.

Restricción para Reemplazar un sinónimo No puede usar la cláusulaORREPLACE para un sinónimo de tipo que tenga tablas dependientes o tipos de objetos válidos dependientes definidos por el usuario.

PÚBLICO

Especifique PUBLIC para crear un sinónimo público. Los sinónimos públicos son accesibles a todos los usuarios. Sin embargo, cada usuario debe tener los privilegios apropiados en el objeto subyacente para poder usar el sinónimo.

Al resolver referencias a un objeto, Oracle Database utiliza un sinónimo público solo si el objeto no va precedido de un esquema y no va seguido de un enlace a la base de datos.

Si omite esta cláusula, el sinónimo es privado y solo es accesible dentro de su esquema. Un nombre sinónimo privado debe ser único en su esquema.

Notas sobre Sinónimos públicos Las siguientes notas se aplican a sinónimos públicos:

  • Si crea un sinónimo público y posteriormente tiene tablas dependientes o tipos de objetos válidos dependientes definidos por el usuario, no podrá crear otro objeto de base de datos con el mismo nombre que el sinónimo en el mismo esquema que los objetos dependientes.

  • tenga cuidado de no crear un sinónimo público con el mismo nombre que un esquema existente. Si lo hace, todas las unidades PL/SQL que usen ese nombre serán invalidadas.

schema

Especifique el esquema para que contenga el sinónimo. Si omite schema, Oracle Database crea el sinónimo en su propio esquema. No puede especificar un esquema para el sinónimo si ha especificado PUBLIC.

sinónimo

Especifique el nombre del sinónimo a ser creado.

Nota: Se pueden crear y eliminar sinónimos de más de 30 bytes. Sin embargo, a menos que representen un nombre Java, no funcionarán en ningún otro comando SQL. Los nombres de más de 30 bytes se transforman en una cadena oscura más corta para su almacenamiento en el diccionario de datos.

Ver También:

» CREAR SINÓNIMO: Examples » y «Oracle Database Resolution of Synonyms: Example»

FOR Clause

Especifica el objeto para el que se crea el sinónimo. El objeto de esquema para el que está creando el sinónimo puede ser de los siguientes tipos:

  • Tabla o tabla de objetos

  • Vista o vista de objetos

  • Secuencia

  • procedimiento Almacenado, función, o el paquete

  • vista Materializada

  • Java esquema de clase de objeto

  • definido por el Usuario tipo de objeto

  • Sinónimo

El objeto de esquema necesidad de que actualmente no existen y usted no necesita tener privilegios de acceso al objeto.

Restricción en la cláusula FOR El objeto de esquema no puede estar contenido en un paquete.

esquema Especifique el esquema en el que reside el objeto. Si no califica un objeto con schema, la base de datos asume que el objeto de esquema está en su propio esquema.

Si está creando un sinónimo para un procedimiento o función en una base de datos remota, debe especificar schema en esta instrucción CREATE. Alternativamente, puede crear un sinónimo público local en la base de datos donde reside el objeto. Sin embargo, el enlace a la base de datos debe incluirse en todas las llamadas posteriores al procedimiento o función.

dblink Puede especificar un enlace de base de datos completo o parcial para crear un sinónimo para un objeto de esquema en una base de datos remota donde se encuentra el objeto. Si especifica dblink y omite schema, el sinónimo se refiere a un objeto en el esquema especificado por el enlace a la base de datos. Oracle recomienda especificar el esquema que contiene el objeto en la base de datos remota.

Si omite dblink, Oracle Database asume que el objeto se encuentra en la base de datos local.

Restricción en Enlaces a bases de datos No se puede especificar dblink para un sinónimo de clase Java.

Ver También:

  • «Referencia a objetos en Bases de datos remotas» para obtener más información sobre referencia a enlaces de bases de datos

  • CREAR ENLACE de base de datos para obtener más información sobre creación de enlaces de base de datos

Ejemplos

CREAR SINÓNIMO: Ejemplos Para definir el sinónimo offices para la tabla locations en el esquema hr, emita la siguiente instrucción:

CREATE SYNONYM offices FOR hr.locations;

Para crear un PUBLIC sinónimo de la etiqueta employees tabla en el esquema hr en el remote base de datos, podría emitir la siguiente declaración:

CREATE PUBLIC SYNONYM emp_table FOR [email protected];

Un sinónimo puede tener el mismo nombre que el objeto subyacente, siempre que el objeto subyacente está contenido en otro esquema.

Resolución de Sinónimos de la base de datos Oracle: Example Oracle Database attempts to resolve references to objects at the schema level before resolving them at the PUBLIC synonym level. For example, the schemas oe and sh both contain tables named customers. In the next example, user SYSTEM creates a PUBLIC synonym named customers for oe.customers:

CREATE PUBLIC SYNONYM customers FOR oe.customers;

Si el usuario sh, a continuación, emite la siguiente declaración, entonces la base de datos devuelve el número de filas de sh.customers:

SELECT COUNT(*) FROM customers;

Para recuperar el recuento de filas de oe.customers, el usuario sh debe prefacio customers con el nombre de esquema. (El usuario sh debe tener el permiso select en oe.customers así.)

SELECT COUNT(*) FROM oe.customers;

If the user hr‘s schema does not contain an object named customers, and if hr has select permission on oe.customers, then hr can access the customers table in oe‘s schema by using the public synonym customers:

SELECT COUNT(*) FROM customers;

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *