Privilegien nur für Spalte

Hallo zusammen,

habe mehrere Tabellen auf einem Oracle Server. Diese werden in Access verknüpft, damit dies von anderen Benutzern als frontend genutzt werden kann. Nun gibt es Tabellen wo manche Nutzer nur Änderungsrechte bei bestimmten Spalten der Tabelle haben sollen. So viel ich weiß gibts dafür ja keinen direkten SQL-Befehl. Aber gibt es vieleicht eine Trick dies doch zu realisieren ohne die Tabellen in mehrere aufzuteilen?

Schonmal danke, Viele Grüße David

Hallo zusammen,

habe mehrere Tabellen auf einem Oracle Server.

– Welche Version ist den dass ?

Aber gibt es vieleicht eine Trick dies doch zu

realisieren ohne die Tabellen in mehrere aufzuteilen?

  • Google mal nach Oracle FGAC (Fine Grained Acces Control). Dies ist exakt das, was du benötigst. Braucht halt etwas Einarbeitungszeit, ist aber sehr mächtig.

Gruss

Hi,
die Luxusvariante wurde schon genannt, eventuell kanns du dich aber auch mit Views und Instead Of Triggern, bzw. Triggern, die eine Fehlermeldung produzieren über Wasser halten.

Wenn du z.B. eine View an sich triviale View auf eine Tabelle erstellst, (select * from …) aber einzelne Spalten in ein Funktion verpackst, die die Spalte effektiv nur durchreicht ( x+0) so werden die Spalten Read Only, während der Rest updatable werden sollte.

Jens

HAllo,

es geht mit:

GRANT UPDATE(spalte1, spalte2,…) ON tabellenname TO username;

Aber Vorsicht. Das Update ist auch dann eine „Änderung“, wenn der alte und der neue Inhalt identisch ist.

Ansonsten gehts mit einem TRIGGER ON UPDATE, bei dem du die Werte ganz einfach vergleichen kannst.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hey,
also ganz vielen Dank schonmal im vorraus, werde mich mit allen Lösungen beschäftigen. Mal sehen was sich für mich als beste herausstellt.

Schöne Grüße David