Zugriff auf eine Tabelle ohne Angabe des Schemanamens
Habe ich ein schema mit dem Namen GBO_ARC_SCHEMA
, in der ich eine Tabelle namens TEST_EMP
,
und ich habe zwei Benutzer sagen USER_A
und USER_B
.
Ersten ich mit USER_A
und feuerte unten-Abfrage
select count(*)from TEST_EMP;
count
-----
20
Danach habe ich angeschlossen wie USER_b
und feuerte unter Abfrage, aber es gibt ein Fehler ausgegeben, der besagt, dass die Tabelle oder view nicht verlassen
select count(*)from TEST_EMP;
Aber wenn ich scma.object name
ist es mir erlaubt, Abfrage, wie unten
select count(*)from GBO_ARC_SCHEMA.TEST_EMP;
aber wie pro meine Bedingung, die ich nicht angeben wollen-schema-name.
kann jemand mir helfen?
i don't want to specify schema name
. Dann einfach erstellen Sie ein synonym.- danke, aber wir dnt erstellen möchten, die synonym mein req ist auch so im Vorbeigehen table_name als dynamischer, wenn ich es synonym nicht generisch sein, ri8 ..??
- Wenn Ihre Abfrage ist dynamisch (generiert), warum nicht fügen Sie einfach das schema in es, während Sie mit der Erstellung der Abfrage?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen alle Benutzer werden in der Lage, wählen Sie aus der Tabelle ohne Qualifizierung, mit der der name des Schemas, das Sie erstellen möchten eine öffentliche synonym:
Wenn Sie nur wollen
user_b
für das auslassen der name des Schemas, das Sie erstellen möchten eine privaten synonym INNERHALB user_b ' s schema (dass angemeldet ist, als user_b)Wenn Sie darauf bestehen, auf nicht mit Synonymen, dann, nach der Anmeldung, eine
Auf dem server-Rollen für den login, die Sie verwenden, deaktivieren Sie einfach sysadmin und serveradmin Rollen.
Das sollte es lösen
Für den Postgres-Benutzer mit dem gleichen problem