Criar sinônimos

Não é possível criar sinônimos para bancos de dados emote ou outros sinônimos (também chamado de encadeamento). Como os sinônimos compartilham namespace como seus objetos, não é possível criar um sinônimo com um nome que já seja usado por um objeto desse tipo. Ou seja, não é possível criar um sinônimo chamado "my_tbl" para uma tabela se já houver uma tabela denominada "my_tbl" nesse namespace. Inversamente, não é possível criar uma tabela, visualização ou função com um nome que corresponda a um sinônimo existente nesse namespace.

Todos os sinônimos são públicos e podem ser visualizados por todos os usuários.

A sintaxe para o comando CREATE SYNONYM é:
CREATE SYNONYM synonym_name FOR table_reference;

O synonym_name é um nome que segue as convenções de nomenclatura para tabelas, visualizações e funções. É possível criar um sinônimo para uma tabela, visualização ou função não existentes. No tempo de execução, o sistema expande a referência para sua forma completa. Se o objeto de referência não existir, o sistema exibirá uma mensagem de erro.

A referência pode ser um dos seguintes nomes:
  • Nome simples (nome de tabela, visualização ou função)
  • Nome qualificado do banco de dados (nome database_name.schema_name.object)
Por exemplo, para criar um sinônimo para EMP no esquema padrão de banco de dados PROD, insira:
dev.sch1(admin)=> CREATE SYNONYM pemp FOR prod..emp;