You are on page 1of 4

Ejercicios:

Utilizando instrucciones SQL, realice las siguientes actividades:


Tomando como referencia, las entidades construidas en el
laboratorio12_SQL:

1. Construya los siguiente procedimientos Almacenados para insercin de


registros:
En MySQL; para las tablas

Profesor

delimiter $
create procedure insertarprofesor (in nombre varchar(150), in apellido varchar
(150), in categoria varchar (150), in salario int (10))
begin
insert into profesor (nom_prof, ape_prof, cate_prof, sal_prof) values (nombre,
apellido, categoria, salario);
end $

delimiter $
create procedure insertarcurso (in nombre varchar(150), in horas int (10), in valor
int (10))
begin
insert into profesor (nom_curs, horas_cur, valor_cur) values (nombre, horas,
valor);
end $

Estudiante

delimiter $
create procedure insertarestudiante (in documento int (3), in nombre varchar(150),
in apellido varchar (150), in edad int (3))
begin
insert into estudiante (doc_est, nom_est, ape_est, edad_est) values (documento,
nombre, apellido, edad);
end $

* Estudiantexcurso.

delimiter $
create procedure insertarestudiantexcurso (in codcur int (11), in docest int(11),
in fecha datetime (6))
begin
insert into estudiantexcurso (cod_cur_estcur, doc_est_estcur, fec_ini_estcur)
values (codcur, docest, fecha);
end $

En ORACLE; para las tablas Cliente

create or remplace procedure INSERTARCLIENTE


(IdeCliente IN CHAR,
NomCliente IN VARCHAR2,
ApeCliente IN VARCHAR2,
DirCliente IN VARCHAR2,
DepCliente IN VARCHAR2,
CumpleCliente IN VARCHAR2)
is
begin
insert into cliente (id_art, tit_art, aut_art, edi_art, pre_art)
values (IdeArticulo, TitArticulo, AutArticulo, EdiArticulo, PrecArticulo);

end;
/
Pedido.

create or remplace procedure INSERTARPEDIDO


(IdePedido IN CHAR
IdeCliPedido IN CHAR,
FechaPedido IN DATE,
ValPedido IN VARCHAR2)

is
begin
insert into pedido (id_ped, id_cliped, fec_ped, val_ped)
values (IdePedido, IdeCliPedido, FechaPedido, ValPedido);

end;
/

En el Motor de su preferencia (ORACLE O MySQL), para las tablas,

Compaa:
delimiter $
create procedure insertarcompaia (in nit int(15), in nombre varchar (150), in
aofundacion datetime (6), in representante varchar (45))
begin
insert into compaiacompaia (comnit, comnombre, comaofun, comrelplegal)
values (nit, nombre, aofundacion, representante);
end $

TiposAutomotores
delimiter $
create procedure insertartiposautomotores (in tipo int(10), in apellido varchar
(150))
begin
insert into tiposautomotores (auttipo, autnombre) values (tipo, apellido);
end $

* Automotores:
delimiter $
create procedure insertarautomotores (in placa varchar(6), in marca varchar (150),
in tipo varchar (100), in modelo varchar (100), in NoPasajeros int (3), in
cilindraje int(6), in chasis varchar(100))
begin
insert into tiposautomotores (autoplaca, automarca, autotipo, automodelo,
autonumpasajeros, autocilindraje, autonumchasis) values (placa, marca, tipo,
modelo, NoPasajeros, cilindraje, chasis );
end $

*Aseguramientos
delimiter $
create procedure insertaraseguramientos (in codigo int(11), in fechainicio datetime
(6), in fechafin datetime (6), in valorasegurado int (30), in estadoseguro varchar
(45), in costo int(6), in placa varchar(6))
begin
insert into tiposautomotores (asecodigo, asefechainicio, asefechaexpiracion,
asevalorasegurado, aseestado, asecosto, aseplaca)
values (codigo, fechainicio, fechafin, valorasegurado, estadoseguro, costo,
placa );
end $

2. En Oracle construya los procedimientos almacenados para realizar los


siguientes procesos:
Muestre los salarios de los profesores ordenados por categora.

Muestre los cursos cuyo valor sea mayor a $500.000.


Visualizar el nombre, apellido y direccin de todos aquellos clientes que
hayan realizado un pedido el da 25 /02/2012.
Listar todos los pedidos realizados incluyendo el nombre del artculo.
Listar los todos datos de los automotores cuya pliza expira en octubre de
2013, este reporte debe visualizar la placa, el modelo, la marca, nmero de
pasajeros, cilindraje nombre de automotor, el valor de la pliza y el valor
asegurado.

3. En MySQL construya los procedimientos almacenados para realizar los


siguientes procesos:
Muestre todos los campos de la tabla curso en orden ascendente
segn el valor.
Mostrar los pedidos con los respectivos artculos(cdigo, nombre,
valor y cantidad pedida).
Visualizar los datos de las empresas fundadas entre el ao 1991 y
1998.
Usar lenguaje transaccional sobre la base de datos
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de
Aprendizaje
5
Usar lenguaje transaccional sobre la base de datos
Visualizar todos los clientes organizados por apellido.
Visualizar los datos de los incidentes que han tenido un(1) herido,
este reporte debe visualizar la placa del automotor, con los respectivos
datos de la pliza como son fecha de inicio, valor, estado y valor
asegurado.
Visualizar los incidentes del vehculo con placas " FLL420", este
reporte debe visualizar la fecha, el lugar, la cantidad de heridos del
incidente, la fecha de inicio la de expiracin de la pliza y el valor
asegurado.

mysql> create procedure ordenamientovalor()


- > select cod_curs, nom_curs, valor_cur from curso
-> order by valor_cur ;
query ok, o rows affercted (0,00 sec)
mysql> call ordenamientovalor();

+----------+-------------------------------+-----------
+----------- +
| cod_curs | nom_curs | horas_cur |
valor_cur |
+----------+-------------------------------+-----------+ -----------+
| 149842 | Fundamentos de bases de datos | 40 | 500000 |
| 250067 | Fundamentos de SQL | 20 | 700000
|
| 289011 | Manejo de Mysql | 45 |
550000 |
| 345671 | Fundamentals of oracle | 60 | 3000000
|
+----------+------------------------------- +----------
+----------- +
4 rows in set (0.00 sec)

You might also like