Creare sinonimi

Non è possibile creare sinonimi per database di emote o altri sinonimi (chiamato anche concatenamento). Poiché i sinonimi condividono lo spazio dei nomi dei loro oggetti, non è possibile creare un sinonimo con un nome già utilizzato da un oggetto di quel tipo. Cioè, non si può creare un sinonimo chiamato "my_tbl" per una tabella se esiste già una tabella chiamata "my_tbl" in quello spazio dei nomi. Al contrario, non è possibile creare una tabella, una vista o una funzione con un nome che corrisponde a un sinonimo esistente in quello spazio dei nomi.

Tutti i sinonimi sono pubblici e visualizzabili da tutti gli utenti.

La sintassi del comando CREATE SYNONYM è la seguente:
CREATE SYNONYM synonym_name FOR table_reference;

Il " synonym_name è un nome che segue le convenzioni di denominazione di tabelle, viste e funzioni. È possibile creare un sinonimo per una tabella, una vista o una funzione inesistente. In fase di esecuzione, il sistema espande il riferimento alla sua forma completamente qualificata. Se l'oggetto di riferimento non esiste, il sistema visualizza un messaggio di errore.

Il riferimento può essere uno dei seguenti nomi:
  • Nome semplice (nome di tabella, vista o funzione)
  • Nome qualificato del database (nomedatabase_name.schema_name.object )
Ad esempio, per creare un sinonimo di EMP nello schema predefinito del database PROD, inserire:
dev.sch1(admin)=> CREATE SYNONYM pemp FOR prod..emp;