joserome / BaseDatos2-joserome

tareas y ejercicios del curso de BaseDatos2
0 stars 0 forks source link

reto 3 resulto #2

Open joserome opened 9 years ago

joserome commented 9 years ago

--crear tabla
create table empleado(id integer, nombre varchar2(120),sueldo float,fecha date);

--insertar 3 registros en la tabla(solo cambiale los valores)
INSERT INTO empleado VALUES(5,'yuri',6200,sysdate);

select *from empleado;

/* usar un cursor explicitamente para actualizar los sueldos de acuerdo a la sig regla -si el sueldo es mayor de 6000 actualizar el valor a el sueldo anterior +2000 -si el sueldo es manor o igual a 6000 actualiza a el sueldo anterior + 1000*/

set serveroutput on; --bloque declare --ya sea para actualizar o borrar es for update y se le agregaria of sueldo para especificar el campo sueldo cursor cursor_actualizar_emp is select * from empleado for update;

begin

for rec in cursor_actualizar_emp loop

if to_char(rec.fecha, 'dd') = '01' then  

   if rec.sueldo > 6000 then 
     update empleado set sueldo=2000 where current of cursor_actualizar_emp; 

-- es para que se aplique el cambio en el registro actual en el q se esta iterando else update empleado set sueldo=rec.sueldo+1000 where current of cursor_actualizar_emp;

  end if; 
else   

    dbms_output.put_line('no puedes retirar ');

  end if; 

end loop; 
     end; 
     / 
    select *from empleado; 
daton commented 9 years ago

Hola @joserome ya revise tu ejercicio esta bien, tienes tu punto!! :beers: