Grant ändert sich nur für eine Spalte in der Tabelle

8

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.

    
Vincenz Mössenböck 22.01.2013, 15:42
quelle

2 Antworten

13

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%     
Vinayak Pahalwan 22.01.2013, 16:29
quelle
4

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%     
maialithar 22.01.2013 16:27
quelle

Tags und Links