CRIAR SINÔNIMO

Objetivo

Use CREATESYNONYM instrução para criar um sinônimo, que é um nome alternativo para uma tabela, modo de exibição, sequência de procedimento armazenado função, pacote, materializado ver, Java esquema de classe de objeto definido pelo usuário, tipo de objeto, ou outro sinônimo.os sinónimos fornecem a independência dos dados e a transparência da localização. Sinónimos permitem que as aplicações funcionem sem modificação, independentemente do usuário que possui a tabela ou vista e independentemente do banco de dados que contém a tabela ou vista. No entanto, sinônimos não são um substituto para privilégios em objetos de banco de dados. Privilégios apropriados devem ser concedidos a um usuário antes que o usuário possa usar o sinônimo.

Você pode consultar os sinônimos nas seguintes instruções DML: SELECTINSERTUPDATEDELETEFLASHBACKTABLEEXPLAINPLAN e LOCKTABLE.

pode referir-se a sinónimos nas seguintes declarações DDL: AUDITNOAUDITGRANTREVOKE e COMMENT.

Ver também:

conceitos de Base de Dados Oracle para informação geral sobre sinónimos

pré-requisitos

para criar um sinónimo privado no seu próprio esquema, deve ter oCREATESYNONYM privilégio do sistema.

para criar um sinónimo privado no esquema de outro utilizador, deve ter o CREATEANYSYNONYM privilégio do sistema.

Para criar uma PUBLIC sinônimo, você deve ter o CREATEPUBLICSYNONYM sistema de privilégio.

a Sintaxe

create_synonym::=

Descrição do create_synonym.gif segue

Descrição da ilustração create_synonym.gif

semântica

ou substituir

especificar REPLACE para recriar o sinónimo se já existir. Use esta cláusula para alterar a definição de um sinônimo existente sem primeiro abandoná-lo.

Restrição na substituição de um sinónimo não pode usar a cláusula REPLACE para um tipo de sinónimo que tenha quaisquer tabelas dependentes ou tipos de objectos válidos e dependentes definidos pelo utilizador.

público

especificarPUBLIC para criar um sinónimo público. Sinónimos públicos são acessíveis a todos os usuários. No entanto, cada usuário deve ter privilégios adequados sobre o objeto subjacente, a fim de usar o sinônimo.

ao resolver referências a um objeto, a base de Dados Oracle usa um sinônimo público somente se o objeto não é prefaciado por um esquema e não é seguido por um link de banco de dados.

se omitir esta cláusula, então o sinónimo é privado e está acessível apenas dentro do seu esquema. Um nome de sinônimo privado deve ser único em seu esquema.Notas sobre sinónimos públicos as seguintes notas aplicam-se aos sinónimos públicos:

  • se criar um sinónimo público e este tiver posteriormente tabelas dependentes ou tipos de objectos válidos e definidos pelo utilizador, então não poderá criar outro objecto de base de dados com o mesmo nome que o sinónimo no mesmo esquema que os objectos dependentes.

  • tome cuidado para não criar um sinónimo público com o mesmo nome que um esquema existente. Se você fizer isso, então todas as unidades PL / SQL que usam esse nome serão invalidadas.

schema

especifique o esquema para conter o sinónimo. Se omitir schema, então a base de Dados Oracle cria o sinónimo no seu próprio esquema. Não é possível indicar um esquema para o sinónimo se tiver indicado PUBLIC.

sinónimo

indique o nome do sinónimo a criar.

Nota: os sinónimos com mais de 30 bytes podem ser criados e largados. No entanto, a menos que representem um nome Java, eles não trabalharão em nenhum outro comando SQL. Nomes com mais de 30 bytes são transformados em uma string Obscura mais curta para armazenamento no dicionário de dados.

Ver também:

“criar sinónimo: Examples ” and “Oracle Database Resolution of Synonyms: Example”

FOR Clause

Specify the object for which the synonym is created. O objecto schema para o qual está a criar o sinónimo pode ser dos seguintes tipos::

  • Tabela ou objeto de tabela

  • modo de Exibição ou um objeto de exibição

  • na Sequência

  • procedimento Armazenado, função, ou pacote

  • Materialized view

  • classe Java objeto de esquema

  • objeto definido pelo Usuário digitar

  • Sinônimo

O esquema do objeto não precisa de atualmente existir e você não precisa ter privilégios para acessar o objeto.

Restrição na cláusula FOR o objeto schema não pode ser contido em um pacote.

schema especifique o esquema em que o objeto reside. Se você não qualificar objeto com schema, então a base de dados assume que o objeto schema está em seu próprio esquema.

Se você está criando um sinônimo para um procedimento ou função em uma base de dados remota, então você deve especificar schema nesta Declaração CREATE. Alternativamente, você pode criar um sinônimo público local na base de dados onde o objeto reside. No entanto, o link da base de dados deve então ser incluído em todas as chamadas subsequentes para o procedimento ou função.

dblink poderá indicar uma ligação completa ou parcial à base de dados para criar um sinónimo de um objecto schema numa base de dados remota onde o objecto está localizado. Se especificar dblink e omit schema, então o sinónimo refere-se a um objecto no esquema especificado pela ligação à base de dados. A Oracle recomenda que você especifique o esquema que contém o objeto na base de dados remota.

se omitir dblink, então a base de Dados Oracle assume que o objeto está localizado na base de dados local.

restrição nas ligações de bases de dados você não pode especificar dblink para um sinónimo de classe Java.

Veja Também:

  • “, Referindo-se a Objetos em Bancos de dados Remotos” para obter mais informações sobre referindo-se a links de banco de dados

  • CREATE DATABASE LINK para obter mais informações sobre como criar links de banco de dados

Exemplos

CRIAR SINÔNIMO: Exemplos Para definir o sinônimo offices para a tabela locations no esquema hr, emita a seguinte instrução:

CREATE SYNONYM offices FOR hr.locations;

Para criar uma PUBLIC sinônimo para o employees tabela no esquema hr no remote banco de dados, você pode emitir a seguinte declaração:

CREATE PUBLIC SYNONYM emp_table FOR [email protected];

Um sinônimo podem ter o mesmo nome que o objeto subjacente, desde que o objeto está contido em outro esquema.resolução de sinónimos na Base de Dados 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;

Se o usuário sh, em seguida, emite a seguinte declaração, em seguida, o banco de dados retorna o número de linhas a partir de sh.customers:

SELECT COUNT(*) FROM customers;

Para obter a contagem de linhas de oe.customers, o usuário sh deve prefácio customers com o nome do esquema. (The user sh must have select permission on oe.customers as well.)

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;

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *