Ich möchte einem Benutzer nur erlauben, eine Spalte in meiner Tabelle zu bearbeiten. Welchen Befehl verwende ich hier? Ich benutze die Oracle 11g Datenbank. Ich weiß sowieso, wie ich nur lesen oder löschen kann auf der ganzen Tabelle, aber wie mache ich es nur für eine Spalte oder mehr? Bitte geben Sie ein Beispiel.
Sie möchten beispielsweise nur die Aktualisierungsberechtigung für die Enamspalte erteilen und dann die folgende Anweisung eingeben (wobei xyz der Benutzername ist)
%Vor%Syntax:
%Vor%BEARBEITEN: (zum Gewähren ausgewählter Berechtigungen)
Um eine SELECT-Anweisung für die emp-Tabelle zu XYZ zu erteilen und XYZ in die Lage zu versetzen, diese Berechtigung weiterzugeben, müssen Sie die WITH GRANT OPTION-Klausel in der GRANT-Anweisung wie folgt angeben.
%Vor%Auch, Wenn Sie beispielsweise nur die Aktualisierungsberechtigung für die Enamspalte erteilen und die Berechtigung nur für die Spalten empno und ename einfügen möchten, können Sie dies tun:
%Vor%Basierend auf dieser Quelle :
Nur die Berechtigungen INSERT
, UPDATE
und REFERENCES
können auf Spaltenebene erteilt werden. Wenn Sie INSERT
auf Spaltenebene zuweisen, müssen Sie alle Nicht-Null-Spalten in der Zeile einschließen.
Hier ist ein Beispiel:
%Vor%