Está en la página 1de 3

Explicacin de las instrucciones GRANT y REVOKE del SQL

GRANT REVOKE

DA PRIVILEGIOS SOBRE UN OBJETO A UN USUARIO RETIRAR LOS PRIVILEGIOS SOBRE UN OBJETO A UN USUARIO

GRANT privilegio(s) REVOKE privilegio(s)


ON nombre objeto ON nombre objeto
TO usuario FROM usuario
WITH GRAN OPTION

EJEMPLOS PARA DAR PRIVILEGIOS AL USUARIO EJEMPLOS PARA QUITAR PRIVILEGIOS AL USUARIO
UCAPACITACION SOBRE LA TABLA INSTRUCTOR UCAPACITACION SOBRE LA TABLA INSTRUCTOR

GRANT SELECT, INSERT, DELETE, UPDATE REVOKE INSERT, SELECT


ON INSTRUCTOR ON INSTRUCTOR
TO UCAPACITACION FROM UCAPACITACION

GRANT SELECT, INSERT REVOKE ALL


ON INSTRUCTOR ON INSTRUCTOR
TO UCAPACITACION FROM UCAPACITACION

GRANT ALL ON INSTRUCTOR TO UCAPACITACION


LA CLAUSULA CASCADE RETIRA EN CASCADA
LA CLAUSULA WITH GRANT OPTION DELEGA EL GRANT PRIVILEGIOS OTORGADOS PREVIAMENTE
ESPECIFICO (PRIVILEGIOS Y OBJETO) A USUARIOS
PARA QUE ESTOS TAMBIEN LA EJECUTEN
REVOKE DELETE
GRANT DELETE ON INSTRUCTOR
ON INSTRUCTOR FROM UCAPACITACION
TO UCAPACITACION CASCADE
WITH GRANT OPTION
Ejemplo de Grant y Revoke con SQL SERVER

1 4 9

EJECUTAR SQL SERVER MANAGEMENT STUDIO AUTENTICANDOSE CON EJECUTAR SQL SERVER MAN EJECUTAR SQL SERVER MAN
LOGIN sa Y PASSWORD a . ABRIR UN NUEVO QUERY STUDIO AUTENTICANDOSE CON STUDIO AUTENTICANDOSE CON
LOGIN LCAPACITACION Y LOGIN LSUBORDINADO Y
PASSWORD PSUBORDINADO
2 PASSWORD PCAPACITACION
. ABRIR UN NUEVO QUERY . ABRIR UN NUEVO QUERY
COPIAR, PEGAR Y EJECUTAR CODIGO ADJUNTO DE LAS TRES COLUMNAS
5 10
3
SELECT * FROM INSTRUCTOR SELECT * FROM INSTRUCTOR
CREATE LOGIN LCAPACITACION
WITH PASSWORD = 'PCAPACITACION', 7 12
DEFAULT_DATABASE = CAPACITACION
USE CAPACITACION SELECT * FROM INSTRUCTOR SELECT * FROM INSTRUCTOR
CREATE USER UCAPACITACION FOR LOGIN LCAPACITACION
13 14
6
GRANT INSERT SELECT * FROM INSTRUCTOR
GRANT SELECT ON INSTRUCTOR TO UCAPACITACION ON INSTRUCTOR
TO USUBORDINADO 17
8
13.1 SELECT * FROM INSTRUCTOR
USE MASTER
CREATE LOGIN LSUBORDINADO GRANT SELECT ON INSTRUCTOR
WITH PASSWORD = 'PSUBORDINADO', TO USUBORDINADO
DEFAULT_DATABASE = CAPACITACION
USE CAPACITACION 16
CREATE USER USUBORDINADO FOR LOGIN LSUBORDINADO
SELECT * FROM INSTRUCTOR
11

GRANT SELECT ON INSTRUCTOR


TO UCAPACITACION WITH GRANT OPTION

15

REVOKE SELECT ON INSTRUCTOR FROM UCAPACITACION

15.1

REVOKE SELECT ON INSTRUCTOR FROM UCAPACITACION CASCADE


USE MASTER ALTER TABLE INSTRUCTOR INSERT INTO INSTRUCTOR
CREATE DATABASE CAPACITACION ADD PRIMARY KEY(RFC_I) (RFC_I,NOMBRE_I,NO_TEL_I)
GO VALUES('MOMO','OSCAR MOTA','123456'),
USE CAPACITACION ALTER TABLE CURSO ('ROFA','ALFREDO RODRIGUEZ','567899')
ADD PRIMARY KEY(CODIGO)
CREATE TABLE INSTRUCTOR( INSERT INTO CURSO
RFC_I CHAR(13) NOT NULL, ALTER TABLE HISTORIAL_CURSO (CODIGO,NOMBRE,COSTO,FECHA_INI,DURACION,RFC_I)
NOMBRE_I CHAR(40) NOT NULL, ADD PRIMARY KEY(CODIGO,RFC_E) VALUES('10','SQL',800,'2016/02/10',5,'MOMO'),
NO_TEL_I CHAR(10) NULL ('11','JAVA',900,'2016/03/10',5,'ROFA'),
) ALTER TABLE ESTUDIANTE ('12','PHP',800,'2016/04/10',5,NULL)
ADD PRIMARY KEY(RFC_E)
CREATE TABLE CURSO( INSERT INTO ESTUDIANTE
CODIGO CHAR(3) NOT NULL, (RFC_E,NOMBRE_E,NO_TEL_E)
NOMBRE CHAR(40) NOT NULL, ALTER TABLE CURSO VALUES('GOGA','ARTURO','556565'),
COSTO INT NOT NULL, ADD FOREIGN KEY (RFC_I) ('LIFO','OCTAVO','55555')
FECHA_INI DATE NOT NULL, REFERENCES INSTRUCTOR(RFC_I)
DURACION INT NOT NULL, ON UPDATE CASCADE INSERT INTO HISTORIAL_CURSO (CODIGO,RFC_E)
RFC_I CHAR(13) NULL VALUES('10','GOGA'),
) ALTER TABLE HISTORIAL_CURSO ('11','LIFO')
ADD FOREIGN KEY(CODIGO)
CREATE TABLE ESTUDIANTE( REFERENCES CURSO(CODIGO) SELECT NOMBRE,NOMBRE_E,NOMBRE_I
RFC_E CHAR(13) NOT NULL, ON UPDATE CASCADE FROM CURSO INNER JOIN INSTRUCTOR
NOMBRE_E CHAR(40) NOT NULL, ON CURSO.RFC_I=INSTRUCTOR.RFC_I
NO_TEL_E CHAR(10) NULL ALTER TABLE HISTORIAL_CURSO INNER JOIN HISTORIAL_CURSO
) ADD FOREIGN KEY(RFC_E) ON CURSO.CODIGO=HISTORIAL_CURSO.CODIGO
REFERENCES ESTUDIANTE(RFC_E) INNER JOIN ESTUDIANTE
CREATE TABLE HISTORIAL_CURSO( ON UPDATE CASCADE ON HISTORIAL_CURSO.RFC_E=ESTUDIANTE.RFC_E
CODIGO CHAR(3) NOT NULL,
RFC_E CHAR(13) NOT NULL
)

También podría gustarte