5_TEMA_4_SQL_ejercicios_5_actualizacion

2
 TEMA 4 SQL ejercic io s 5  Ac tu ali zaci ón de d ato s Como en estos ejercicios se van a modificar los valores almacenados en la base de datos, es conveniente guardar antes una copia de las tablas, en los cuatro primeros ejercicios crearemos una copia de los datos almacenados para luego poder recuperar los valores originales. 1 Crear una tabla (llamarla nuevaempleados ) que contenga las filas de la tabla empleados. SELECT * INT O nuevaemp leados FROM Empl eado; 2 Crear una tabla (llamarla nuevaoficinas ) que contenga las filas de la tabla oficinas. SELECT * INTO nuevaoficinas FROM Oficinas; 3 Crear una tabla (llamarla nuevaproductos ) que contenga las filas de la tabla productos. SELECT * I NTO nuevaprod ucto s FROM Produ ctos; 4 Crear una tabla (llamarla nuevapedidos ) que contenga las filas de la tabla pedidos. SELECT * INTO nuevapedi dos FROM Pedidos; 5 Subir un 5% el precio de todos los productos del fabricante ACI. UPDATE Productos SET Precio=(Precio+Precio*0.05) WHERE Idfab=" aci" ; 6 Añadir una nueva oficina p ara la ciudad de Madrid, con el número de oficina 30, con un objetivo de 100000 y región Centro. INSERT INTO Oficin as (ofi cina,ciudad,region ,objetivo ) VALUES (30,"Madrid","Centro",100000) ; Otra forma: INSERT INTO Oficinas VALUES (30,"Madrid","Centro",NULL,100000,NULL,"Centro"); 7 Cambiar los empleados de la oficina 21 a la oficina 30. UPDATE Empl eado SET Empleado.of ic ina=30 WHERE Empleado.oficina=21;

Transcript of 5_TEMA_4_SQL_ejercicios_5_actualizacion

Page 1: 5_TEMA_4_SQL_ejercicios_5_actualizacion

5/17/2018 5_TEMA_4_SQL_ejercicios_5_actualizacion - slidepdf.com

http://slidepdf.com/reader/full/5tema4sqlejercicios5actualizacion 1/3

TEMA 4 SQL ejercicios 5 Actualización de datos 

Como en estos ejercicios se van a modificar los valores almacenados en labase de datos, es conveniente guardar antes una copia de las tablas, en loscuatro primeros ejercicios crearemos una copia de los datos almacenados para

luego poder recuperar los valores originales.

1 Crear una tabla (llamarla nuevaempleados ) que contenga las filas de la tablaempleados .

SELECT * INTO nuevaempleados FROM Empleado;

2 Crear una tabla (llamarla nuevaoficinas ) que contenga las filas de la tablaoficinas .

SELECT * INTO nuevaoficinas FROM Oficinas;

3 Crear una tabla (llamarla nuevaproductos ) que contenga las filas de la tablaproductos .

SELECT * INTO nuevaproductos FROM Productos;

4 Crear una tabla (llamarla nuevapedidos ) que contenga las filas de la tablapedidos .

SELECT * INTO nuevapedidos FROM Pedidos;

5 Subir un 5% el precio de todos los productos del fabricante ACI .

UPDATE Productos SET Precio=(Precio+Precio*0.05)WHERE Idfab="aci";

6 Añadir una nueva oficina para la ciudad de Madrid , con el número de oficina30 , con un objetivo de 100000 y región Centro .

INSERT INTO Oficinas (oficina,ciudad,region,objetivo) VALUES

(30,"Madrid","Centro",100000);

Otra forma:

INSERT INTO Oficinas VALUES(30,"Madrid","Centro",NULL,100000,NULL,"Centro");

7 Cambiar los empleados de la oficina 21 a la oficina 30 .

UPDATE Empleado SET Empleado.oficina=30 WHERE

Empleado.oficina=21;

Page 2: 5_TEMA_4_SQL_ejercicios_5_actualizacion

5/17/2018 5_TEMA_4_SQL_ejercicios_5_actualizacion - slidepdf.com

http://slidepdf.com/reader/full/5tema4sqlejercicios5actualizacion 2/3

8 Eliminar los pedidos del empleado 105 .

DELETE * FROM Pedidos WHERE Rep=105;

9 Eliminar las oficinas que no tengan empleados.

DELETE * FROM Oficinas WHERE Oficinas.oficina NOT IN (SELECTEmpleado.oficina FROM Empleado);

10 Recuperar los precios originales de los productos a partir de la tablanuevosproductos .

UPDATE Productos INNER JOIN nuevaproductos ON(Productos.Idfab=nuevaproductos.Idfab) AND(Productos.Idproducto=nuevaproductos.Idproducto) SETProductos.Precio=nuevaproductos.Precio;

11 Recuperar las oficinas borradas a partir de la tabla nuevaoficinas .

INSERT INTO Oficinas SELECT * FROM nuevaoficinas WHEREnuevaoficinas.oficina NOT IN (SELECT Oficinas.oficina FROM Oficinas);

12 Recuperar los pedidos borrados en el ejercicio 8 a partir de la tablanuevapedidos .

INSERT INTO Pedidos SELECT * FROM nuevapedidos WHEREnuevapedidos.Rep=105;

13 A los empleados de la oficina 30 asignarles la oficina 21.

UPDATE Empleado SET Empleado.oficina=21 WHEREEmpleado.oficina=30;

Page 3: 5_TEMA_4_SQL_ejercicios_5_actualizacion

5/17/2018 5_TEMA_4_SQL_ejercicios_5_actualizacion - slidepdf.com

http://slidepdf.com/reader/full/5tema4sqlejercicios5actualizacion 3/3