Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Integradora de Proyectos, Apuntes de Matemáticas

hhgfdtsreardtryftugyihunbhvgcfxdfcyguvhb rtyuhikjhcgftyuvjhkbjlnkñms xcfghvajbsknxlcdkjbhvgscbhjfn dr fsoiaxjchugyftsayvdkjhli saghkjad

Tipo: Apuntes

2020/2021

Subido el 03/07/2022

julio-alberto-ocampo-villalobos
julio-alberto-ocampo-villalobos 🇲🇽

1 documento

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Crear una habitación
create or replace procedure agregar_hab(ide in number, camas in
number, precio in FLOAT) as
numero number := 0;
BEGIN
% %
% % select count(id) into numero from HABITACION where id = ide;
% % if(precio <= 0) then
% % % % dbms_output.put_line('El precio costo por dia tiene que ser
mayor a 0');
% % % % rollback;
% % elsif (numero > 0) then
% % % % dbms_output.put_line('Ya hay ' || numero || ' habitacion con
el mismo numero');
% % % % rollback;
% % elsif (numero = 0 AND precio > 0) THEN
% % insert into habitacion (id,numero_camas, costo) values(ide,
camas,precio);
% % commit;
% % end if;
end;
Modificar una habitación
create or replace procedure modif_hab(ide in number, camas in number,
precio in float) as
BEGIN
% % update HABITACION
% % set numero_camas=camas, costo=precio
% % where id=ide;
end;
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Integradora de Proyectos y más Apuntes en PDF de Matemáticas solo en Docsity!

Crear una habitación create or replace procedure agregar_hab(ide in number, camas in number, precio in FLOAT) as numero number := 0 ; BEGIN select count(id) into numero from HABITACION where id = ide; if(precio <= 0 ) then dbms_output.put_line('El precio costo por dia tiene que ser mayor a 0 '); rollback; elsif (numero > 0 ) then dbms_output.put_line('Ya hay ' || numero || ' habitacion con el mismo numero'); rollback; elsif (numero = 0 AND precio > 0 ) THEN insert into habitacion (id,numero_camas, costo) values(ide, camas,precio); commit; end if; end; Modificar una habitación create or replace procedure modif_hab(ide in number, camas in number, precio in float) as BEGIN update HABITACION set numero_camas=camas, costo=precio where id=ide; end;

Eliminar una habitación create or replace procedure elim_hab(ide in number) as numero number:= 0 ; BEGIN select count(*) into numero from reservacion where fk_hab = ide AND reservacion.STATUS like '%RESERVADA' or reservacion.STATUS like '%ocupada'; if(numero > 0 ) THEN dbms_output.put_line('La habitacion esta ocupada o reservada'); rollback; else delete from habitacion where id=ide; commit; end if; end;

dbms_output.put_line('Habitación inexistente'); rollback; elsif(reservada= 1 ) then dbms_output.put_line('La habitacion esta ocupada o reservada'); rollback; elsif(usuariorico<costototal) then dbms_output.put_line('El usuario no cuenta con saldo suficiente, srry :('); rollback; else update usuario set saldo = saldo - costototal where id_ = fk_usrv; dbms_output.put_line('Numero de reservación: ' || num_res); dbms_output.put_line('Numero de habitación: ' || fk_habv); dbms_output.put_line('El total de dias reservados es: ' || dias); dbms_output.put_line('Fecha inicio: ' || fecha_iniciov || ' Fecha fin: ' || fecha_finv); dbms_output.put_line('Monto a pagar: ' || costototal); dbms_output.put_line('El status ahora es: RESERVADA'); dbms_output.put_line(' '); dbms_output.put_line('FAVOR DE CONSERVAR SU NUMERO DE RESERVACIÓN, YA QUE SERA NECESARIO A LA HORA DE OCUPAR LA HABITACIÓN O EN CASO DE CANCELAR'); execute immediate 'truncate table reservacion_temp'; commit; end if; end;

Cancelar habitación create or replace procedure cancel_hab(numero_rev in number) as existe number; reservada number; ocupada number; devol number; costo_hab number; usuario number; BEGIN select count() into ocupada from reservacion where id=numero_rev AND reservacion.STATUS like '%OCUPADA'; select count() into reservada from reservacion where id=numero_rev AND reservacion.STATUS like '%RESERVADA'; select count() into existe from reservacion where id=numero_rev AND reservacion.STATUS like '%RESERVADA' OR reservacion.STATUS like '%OCUPADA'; select costo_total into costo_hab from reservacion where id=numero_rev; select fk_usr into usuario from reservacion where id=numero_rev; update reservacion set reservacion.status='CANCELADO' where id=numero_rev; if(existe= 0 )then dbms_output.put_line('La reservación no existe'); rollback; elsif(ocupada= 1 ) THEN devol:=costo_hab 0. 60 ; deposito(usuario,devol, 'Devolución'); commit; elsif(reservada= 1 )THEN devol:=costo_hab* 0. 90 ; deposito(usuario,devol, 'Devolución'); commit; end if; end; Ocupar Habitación

dbms_output.put_line('Por que se va antes? :(, no le gustó ¿verdad? anyways, no hay devoluciones'); commit; else select fk_usr into usu_id from reservacion where id=numero_rev; select fk_hab into hab_id from reservacion where id=numero_rev; select saldo into usuariorico from usuario where id_=usu_id; select costo into costototal from habitacion where id=hab_id; dias:=fechaxd-sysdate; cobro:=dias*costototal; if(cobro>usuariorico)then dbms_output.put_line('LLAMANDO A LA POLICIA'); rollback; else retiro(usu_id,cobro); dbms_output.put_line('Se le han cobrado los dias extra, se puede retirar'); commit; end if; end if; end;