Diapositiva 1

Download Report

Transcript Diapositiva 1

Lenguaje de control de datos
(DCL)
El DCL (Data Control Language), lenguaje de control de
datos, contiene elementos útiles para trabajar en un
entorno multiusuario, en el que es importante la
protección de los datos, la seguridad de las tablas y el
establecimiento de restricciones en el acceso, así como
elementos para coordinar la compartición de datos por
parte de usuarios concurrentes, asegurando que no
interfieren unos con otros.
COMMIT
La sentencia COMMIT hace permanente todos los
cambios realizados en la transacción actual y hace visible
las modificaciones a otros usuarios.
ROLLBACK
La sentencia ROLLBACK, Permite que todos los cambios
realizados desde la ultima sentencia sean descartados
por el sistema, de esta forma la base de datos vuelve a su
estado anterior.
Ejemplo Commit y Rolback
Tabla Empleados
RUT
NOMBRE
APELLIDO
TELEFONO
1340945940
JUAN
PEREZ
8993290
1098948901
JOSE
FUENTES
9807789
989893489
PATRICIA
QUIROGA
3890298
SQL  DELETE FROM empleados
WHERE NOMBRE = ‘PATRICIA’
1 row deleted
SQL  COMMIT;
Commit completed
RUT
NOMBRE APELLIDO
TELEFONO
1340945940
JUAN
PEREZ
8993290
1098948901
JOSE
FUENTES
9807789
SQL ROLLBACK;
DATE - TIME
Son tipos de datos que se utilizan para representar
la fecha y la hora del día.
Tipos de datos
Intervalo
Precisión
datetime
Del 1 de enero de 1753
hasta el 31 de
diciembre de 9999
3,33 milisegundos
samalldatetime
Del 1 de enero de 1900
hasta el 6 de junio de
2079
1 minuto
CAST - CONVERT
CAST ( expression AS data_type ) , Convierte explícitamente
una expresión de un tipo de datos en otro, se utiliza
básicamente para pasar datos tipo int a char(n) ).
CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) ,
Convierte explícitamente una expresión de un tipo de datos en
otro (es una función similar a cast. Aunque se utiliza
básicamente para pasar datos tipo datetime a char(n) .
Ejemplo Cast
El valor date/time mediodía del 4 de enero de 1900,
es almacenado como 3.5, donde 3, representa tres
días desde la fecha base y el 0.5, representa la mitad
del día.
SELECT CAST(CAST(’1900-01-04 12:00′ AS
datetime) AS float)
Ejemplo Convert
convert ( varchar, [col_datetime], 103 ) , convierte a dd/mm/yyyy
convert ( varchar, [col_datetime], 108 ) , convierte a hh:mm:ss
Sin el siglo
(aa) (1)
Con el siglo
?(aaaa)
Estándar
Entrada/salida (3)
3
103
Británico/Francés
dd/mm/aa
8
108
-
hh:mm:ss
CASE
Evalúa una lista de condiciones y devuelve una de
las varias expresiones de resultado posibles.
Se utiliza para brindar un tipo de lógica "si-entonces-otro“.
Ejemplo Case
Si deseamos multiplicar las sumas de ventas
de 'Los Angeles' por 2 y las sumas de ventas
de 'San Diego' por 1,5, ingresamos:
SELECT Pais, CASE Pais
WHEN 'Los Angeles' THEN Ventas * 2
WHEN 'San Diego' THEN Ventas * 1.5
ELSE Ventas
END
"Nuevas Ventas",
Date
FROM Producción
Pais
Nuevas
Ventas
Tabla Producción
Pais
Ventas
Fecha
Los Angeles
1500
05-Jan-1999
San Diego
250
07-Jan-1999
San Francisco
300
08-Jan-1999
Boston
700
08-Jan-1999
Fecha
Los Angeles
3000
05-Jan-1999
San Diego
375
07-Jan-1999
San Francisco
300
08-Jan-1999
Boston
700
08-Jan-1999
"Nuevas Ventas" es el nombre que se
le otorga a la columna con la
instrucción CASE.
WHILE
Establece una condición para la ejecución repetida de una
instrucción o bloque de instrucciones SQL. Las instrucciones se
ejecutan repetidamente siempre que la condición especificada
sea verdadera.
Se puede controlar la ejecución de instrucciones en el bucle
WHILE con las palabras clave BREAK y CONTINUE.
Ejemplo While
Tabla Producción
Pais
Ventas
Fecha
Los Angeles
1500
05-Jan-1999
San Diego
250
07-Jan-1999
San Francisco
300
08-Jan-1999
Boston
700
08-Jan-1999
Miami
800
10-jun-2001
New York
100
10-jun-2001
Atlanta
100
10-jun-2001
DECLARE
v_contador NUMBER :=3;
BEGIN
WHILE v_contador < 3 LOOP
INSERT INTO Produccion (pais,
venta, fecha)
VALUES ( v_contador,
'pais'||v_contador, 'venta'||v_contador, fecha);
-- SENTENCIA A EJECUTAR
v_contador := v_contador + 1 ;
END LOOP;
END;
Integrantes:
Cristina Brito
Mariela Donoso