EJERCICIOS: Actualización de tablas
1. Realizar las inserciones
de las siguientes filas:
insert
into compradores (cif_comprador, nombre_social, domicilio_social, localidad,
codigo_postal, telefono)
values
('111111-L','TELARES ASUNCION', 'C. LA
RUA 5', 'ALBACETE', '02002', '97223141'),
('22222-J', 'TEXTIL LAGO', 'PLAZA MAYOR
2', 'ALMERIA', '04131', '95434567');
insert
into articulos (referencia_articulo, descripcion_articulo, precio_unidad, iva,
existencias_actuales)
values
('01-LANA', 'LANA 100% NATURAL', 31.09, 10, 100),
('02-ALGODON', 'ALGODON DE 2 CABOS',
18.00, 10, 155),
('03-SED', 'SEDA CHINA', 55.50, 15,
190),
('04-LINO', 'LINO EUROPEO', 44.00, 12,
250);
insert
into facturas (factura_no, fecha_factura, cif_cliente, cod_oficina)
values (1, '2004-05-12', '111111-L', 1212),
(2,
'2004-07-18', '111111-L', 1231),
(3,
'2004-07-31', '222222-J', 1406),
(4, '2004-08-10', '222222-J', 1212);
insert into lineas_facturas
values (1, '01-LANA', 120),
(1, '04-LINO', 75),
(2, '01-LANA', 20),
(2, '02-ALGODON', 50);
2.
Insertar un nuevo artículo con valores
insert
into articulos (referencia_articulo, precio_unidad, iva)
values
('06-CUERO', 10.99, 10);
select
* from articulos;
Los campos a los que no hago referencia para
rellenar se ponen con NULL automáticamente, porque desconocen el valor que
deben tomar.
3. Hacer una rebaja del IVA
en un punto para cada artículo
update
articulos set iva=iva-1;
4. Modificar la descripción
del artículo de referencia 01-LANA para que el nuevo valor sea LANA
90%NATURAL
10%ACRILICO.
update
articulos set descripcion_articulo='LANA 90%NATURAL/10%ACRILICO' where
descripcion_articulo like '01-LANA';
5. Indicar los pasos
necesarios para modificar el articulo de referencia 01-LANA para que la nueva
referencia sea 01-LANA90/10.
SET
@@FOREIGN_KEY_CHECKS=0; -- Deshabilitar claves ajenas para poder modificar el
dato
update
articulos set referencia_articulo='01-LANA90/10' where referencia_articulo like
'01-LANA';
SET
@@FOREIGN_KEY_CHECKS=1; -- Rehabilitar las claves ajenas de nuevo
6. Borrar de la tabla FACTURAS la factura con el valor de factura_no igual a 2. Observar que ha sucedido en las
tablas facturas y líneas
de factura. Para comprobarlo hacer un listado de las filas.
delete
from facturas
where
factura_no=2;
select
* from facturas;
Han sido borrados todos los registros que
estaban con factura_no=2, con todos sus campos, y como tiene borrado en
cascada, se borrarán también los registros que tienen en clave ajena en la
tabla lineas_facturas.
Para poder trabajar con las tablas creadas en el tema anterior vamos a insertar algunos valores. Estas inserciones son indispensables para poder realizar los siguientes ejercicios
1. Realizar las inserciones
de las siguientes filas:
insert into compradores
values ('111111-L', 'TELARES
ASUNCION', 'C. LA RUA
5', 'ALBACETE', '02002', '97223141'),
('222222-J',
'TEXTIL LAGO', 'PLAZA MAYOR', 'ALMERIA', '04131', '95434567');
insert into articulos
values ('01-LANA', 'LANA 100%
NATURAL', 31.09, 10, 100),
('02-ALGODON',
'ALGODON DE 2 CABOS', 18.00, 10, 155),
('03-SEDA',
'SEDA CHINA', 55.50, 15, 190),
('04-LINO',
'LINO EUROPEO', 44.00, 12, 250);
insert into facturas (factura_no,
fecha_factura, cif_cliente, cod_oficina)
values (1, '2004-05-12', '111111-L', 1212),
(2, '2004-07-18',
'111111-L', 1231),
(3, '2004-07-31',
'222222-J', 1406),
(4,
'2004-08-10', '222222-J', 1212);
insert into lineas_facturas
values (1, '01-LANA', 120),
(1,
'04-LINO', 75),
(2,
'01-LANA', 20),
(2,
'02-ALGODON', 50);
2. Insertar un nuevo
artículo con valores
insert into articulos
values ('01-YUTE', 'YUTE FINO', 25.99, 12, 15);
3. Borrar los artículos cuyo
código contenga un 5
delete
from articulos
where
referencia_articulo like '%5%';
4. Modificar todos los
artículos que tengan IVA con el valor 10 para que el nuevo IVA sea 8.
update
articulos
set
iva=8
where
iva=10;
5. Incrementar el precio de
los artículos con una subida del 5%.
update articulos set
precio_unidad=round((precio_unidad*1.05),2)
6. Insertar una nueva
factura y sus líneas de factura
insert into facturas (factura_no, fecha_factura, cif_cliente, cod_oficina)
values (5,curdate(),
'111111-L', 1231);
insert into lineas_facturas
values (5,'01-LANA',60),
(5,'04-LINO',25);
7. Borrar la factura número
2 y sus líneas de factura
delete
from facturas
where
factura_no=2;
8. Modificar la factura de
número 5 y sus líneas para que tengan el valor 2.
set
@@foreign_key_checks=0;
update facturas
set factura_no=2
where factura_no=5;
update lineas_facturas
set factura_no=2
where factura_no=5;
set @@foreign_key_checks=1;
0 comentarios:
Publicar un comentario