[Oracle] Synonyme einrichten

liam

Mitglied
Hi,

meine Frage:
User1 hat Tabellen angelegt, diese sollen jetzt von einen User2 der nur Leserechte hat per SELECTS ausgewertet werden.
Nun möchte ich nicht immer User1.tabellenname schreiben, habe schon rausbekommen das ich dafür Synonyme für User2 anlegen muss, nur wie kann ich die per SQL auf alle Tabellen gleichzeitig anwenden?
Sind über 100 Tabellen und das wäre zu mühsam das immer jedesmal per Hand zu machen.
 
Ich halte Synonyme generell für kritisch, besonders wenn es PUBLIC SYNONYMS sind.
Dadurch verhindert man z.B. die Installation einer Applikation mehrfach pro Datenbank. Sowas sieht man bei Testumgebungen jedoch recht häufig.

Besser ist es nach dem Login das aktuelle Schema anzugeben:

Code:
ALTER SESSION SET CURRENT_SCHEMA = USER1;

Jetzt werden alle Objekte die User2 anspricht automatisch mit "USER1.Objekt" angesprochen.
 

Neue Beiträge

Zurück