Sagen Sie eine Tabelle in Schema haben USER1
und Sie wollen ein anderes ermöglichen Benutzer, sagen Sie USER2
, um nur nach Spalte z
abzufragen; Sie können eine Ansicht auf Ihrem Tisch erstellen und geben nur die Zuschüsse für die Ansicht, ohne eine Zuteilung auf dem Tisch zu geben; Auf diese Weise werden USER2
nur die Spalten angezeigt, die in der Ansicht enthalten sind, und nicht die gesamte Tabelle.
Zum Beispiel
USER1:
create table completeTable(x number, y number, z number);
create view restrictedTable as select z from completeTable;
insert into completeTable values (1, 2, 3);
grant select on restrictedTable to USER2;
create public synonym restrictedTable for restrictedTable;
USER2:
SQL> select x, y, z from completeTable;
select x, y, z from completeTable
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> select x, y, z from restrictedTable;
select x, y, z from restrictedTable
*
ERROR at line 1:
ORA-00904: "Y": invalid identifier
SQL> select z from restrictedTable;
Z
----------
3
Ich kann sowohl MySQL als auch Oracle haben –
Beispieltabellendaten und das erwartete Ergebnis hinzufügen - auch formatierten Text. Zeigen Sie uns auch Ihren aktuellen Anfrageversuch. – jarlh
Bitte bearbeiten Sie Ihre Frage, indem Sie einige Beispieldaten und das gewünschte Ergebnis hinzufügen. Außerdem, post, was Sie bisher versucht und die Probleme mit Ihrem Code – Aleksej