2013-01-22 14 views

risposta

13

Per esempio, si desidera concedere aggiornamento privilegio sulla colonna di ename solo, poi dare la seguente dichiarazione (dove xyz è il nome utente)

grant update (ename) on emp to xyz; 

Sintassi :

grant update(column-name) on table-name to user-name 

EDIT: (per granti ng selezionare privilegio)

Per assegnare l'istruzione select su emp table a XYZ e per rendere XYZ in grado di inoltrare ulteriormente questo privilegio, è necessario fornire la clausola WITH GRANT OPTION nella dichiarazione GRANT come questa.

grant select on emp to xyz with grant option; 

Inoltre, Per esempio si desidera concedere aggiornamento privilegio su unica colonna ename e inserire privilegio solo su empno e Ename colonne, si può fare questo:

grant update (ename),insert (empno, ename) on emp to xyz; 
+0

thx che ha funzionato perfettamente, ma ho appena rosso che non funziona con le istruzioni select. Ho fatto in alternativa una vista. è corretto? –

+0

intendi ... non puoi concedere il privilegio di selezione? beh penso che possiamo concedere anche privilegi selezionati, controlla modifica –

+0

Nota: devi concedere il privilegio SELECT sulla tabella insieme al privilegio UPDATE. –

4

Sulla base this source:

può essere concessa solo INSERT, UPDATE, e REFERENCES privilegi a livello di colonna. Quando si concede INSERT a livello di colonna, è necessario includere tutte le colonne non nulle nella riga.

Ecco un esempio:

GRANT update (column_name) ON table_name TO user_name; 
Problemi correlati