Créer des synonymes

Vous ne pouvez pas créer de synonymes pour les bases de données emote ou d'autres synonymes (également appelés chaînage). Comme les synonymes partagent l'espace de noms de leurs objets, vous ne pouvez pas créer un synonyme avec un nom qui est déjà utilisé par un objet de ce type. En d'autres termes, vous ne pouvez pas créer un synonyme nommé "my_tbl" pour une table s'il existe déjà une table nommée "my_tbl" dans cet espace de noms. Inversement, vous ne pouvez pas créer une table, une vue ou une fonction dont le nom correspond à un synonyme existant dans cet espace de noms.

Tous les synonymes sont publics et visibles par tous les utilisateurs.

La syntaxe de la commande CREATE SYNONYM est la suivante :
CREATE SYNONYM synonym_name FOR table_reference;

Le " synonym_name est un nom qui suit les conventions d'appellation pour une table, une vue et une fonction. Vous pouvez créer un synonyme pour une table, une vue ou une fonction inexistante. Au moment de l'exécution, le système étend la référence à sa forme pleinement qualifiée. Si l'objet référencé n'existe pas, le système affiche un message d'erreur.

La référence peut être l'un des noms suivants :
  • Nom simple (nom de table, de vue ou de fonction)
  • Nom qualifié de la base de données (nomdatabase_name.schema_name.object )
Par exemple, pour créer un synonyme de EMP dans le schéma par défaut de la base de données PROD, entrez :
dev.sch1(admin)=> CREATE SYNONYM pemp FOR prod..emp;