ORACLE SQL - DCL
Oracle SQL - DCL
❑ ¿Qué es DCL?
❑ Sus comandos
❖ GRANT
❖ REVOKE
Oracle SQL – ¿Qué es DCL?
DDL – Data Control Language
En español significa Lenguaje de Control de Datos y es un lenguaje
proporcionado por el SGBD (Sistema de Gestión de Base de Datos) que incluye
una serie de comandos SQL que permiten al administrador controlar el acceso a
los datos contenidos en la Base de Datos.
Los privilegios podrían ser consultar (SELECT), eliminar (DELETE), actualizar
(UPDATE) e insertar (INSERT) en las tablas y vistas. En los procedimientos,
funciones y paquetes le da privilegios para seleccionar (SELECT) y ejecutar
(EXECUTE).
Podemos dar todos los privilegios o cualquier uno o más privilegios a los
objetos.
Oracle SQL – Comandos DCL
GRANT
Comando para dar permisos a uno o varios usuarios para realizar determinadas
tareas.
GRANT NombreDelPrivilegio
ON NombreDelObjecto
TO {NombreDelUsuario | PUBLIC}
[WITH GRANT OPTION];
OBS: Necesitan siempre que se haga un COMMIT al final.
Oracle SQL – Comandos DCL
GRANT
NombreDelPrivilegio – Que previlegios se da a un usuario. Los previlegios son:
ALL: permiso para ejecutar todos los comandos seguientes;
SELECT: permiso para consultar una tabla/vista;
UPDATE: permiso para actualizar tabla. ¡NO PARA VISTAS!
DELETE: permiso para eliminar datos de tabla. ¡NO PARA VISTAS!
INSERT: permiso para insertar en tablas. ¡NO PARA VISTAS!
EXECUTE: permiso para ejecutar un objeto (PROCEDUTE, FUNCTION, PACKAGE)
NombreDelObjecto – El objeto de nuestra BD como:
TABLE - tablas
VIEW - vistas
PROCEDURE - procedimientos
FUNCTION - funciones
SEQUENCE - secuencia
Oracle SQL – Comandos DCL
GRANT
NombreDelUsuario – El usuario a que se da los previlegios.
Pueden ser dos tipos
Un usuario especifico;
PUBLIC: todos los demás usuarios en la base de datos.
WITH GRANT OPTION – Si se quiere que el usuario a quién se dio previlegio
pueda también le dar permiso a un otro usuario de la base.
OBS: WITH GRANT OPTION es la parte opcional del comando GRANT.
Oracle SQL – Comandos DCL
GRANT
Por ejemplo:
Dar permiso total al usuario ZEGUI a una tabla:
GRANT ALL ON GE_ALUMNOS TO ZEGUI;
Dar permiso parcial al usuario ZEGUI a una tabla:
GRANT SELECT, INSERT ON GE_UNIDADES TO ZEGUI;
Dar permiso a todos los usuarios a una funcion:
GRANT EXECUTE ON NombreDeUnaFuncion TO PUBLIC;
Oracle SQL – Comandos DCL
REVOKE
Comando para sacar permisos de uno o varios usuarios para realizar
determinadas tareas.
REVOKE NombreDelPrivilegio
ON NombreDelObjecto
FROM {NombreDelUsuario | PUBLIC}
Ejemplo:
REVOKE SELECT, INSERT ON GE_UNIDADES FROM ZEGUI;
REVOKE ALL ON GE_ALUMNOS FROM ZEGUI;
REVOKE EXECUTE ON NombreDeUnaFuncion FROM PUBLIC;