21.
delimiter
$$
drop
procedure if exists ejercicio21 $$
create
procedure ejercicio21(e_numce int, e_nomce varchar(25), e_seas varchar(30), out
s_n_error int, out s_t_error varchar(250))
begin
declare
clave_repetida_error condition for 1062;
declare
clave_nula_error condition for 1048;
declare
clave_tabla_inexistente condition for 1146;
declare continue
handler for clave_repetida_error
begin
set
s_n_error=1062;
set s_t_error='clave duplicada';
end;
declare continue handler for
clave_nula_error
begin
set
s_n_error=1048;
set s_t_error='clave nula';
end;
declare continue handler for
clave_tabla_inexistente
begin
set
s_n_error=1146;
set s_t_error='tabla no existe';
end;
declare exit handler for sqlexception
begin
set s_n_error=-1;
set s_t_error='ocurrio un
error';
end;
set s_n_error=0;
insert into centros values(e_numce,
e_nomce, e_seas);
if s_n_error=0 then
set
s_t_error='centro insertado';
end if;
end $$
delimiter ;
22.
delimiter $$
drop procedure if exists ejercicio22 $$
create procedure ejercicio22( e_numem int, e_numde int, e_extel int, e_fecna date, e_fecin date,
e_salario int,
e_comision int,e_numhi int, e_nomem
varchar(18), out s_n_error int,
out s_t_error
varchar(250))
begin
declare
clave_repetida_error condition for 1062;
declare
clave_nula_error condition for 1048;
declare clave_tabla_inexistente
condition for 1146;
declare
clave_dep_inexistente condition for 1452;
declare continue
handler for clave_repetida_error
begin
set
s_n_error=1062;
set s_t_error='clave duplicada';
end;
declare continue handler for clave_nula_error
begin
set
s_n_error=1048;
set s_t_error='clave nula';
end;
declare continue handler for
clave_tabla_inexistente
begin
set
s_n_error=1146;
set s_t_error='tabla no existe';
end;
declare continue handler for
clave_dep_inexistente
begin
set
s_n_error=1452;
set s_t_error='num dep no existe';
end;
declare exit handler for sqlexception
begin
set s_n_error=-1;
set s_t_error='ocurrio un
error';
end;
set s_n_error=0;
insert into empleados
values(e_numem, e_numde, e_extel, e_fecna, e_fecin, e_salario,
e_comision,e_numhi, e_nomem);
if s_n_error=0 then
set
s_t_error='empleado insertado';
end if;
end $$
delimiter ;
0 comentarios:
Publicar un comentario