miércoles, 18 de abril de 2012

Clase Viernes 14 de abril


create table EMPLEADO (
NUMEMPLEADO CHAR(4) not null,
NOMBRE CHAR(30),
APELLIDO CHAR(30),
CARGO CHAR(35),
SEXO CHAR(1),
FECHNAC DATE,
SALARIO FLOAT,
NUMOFICINA CHAR(4),
constraint PK_EMPLEADO primary key (NUMEMPLEADO)
);

insert into empleado values('SL21','Jhon','White','Gerente','M','01/10/45',300000,'B005');
insert into empleado values('SG37','Peter','Denver','Asistente','M','10/11/60',120000,'B006');
insert into empleado values('SG14','David','Ford','Supervisor','M','09/09/58',180000,'B003');
insert into empleado values('SA9','Mary','Lee','Asistente','F','17/09/59',90000,'B007');
insert into empleado values('SG5','Susan','Sarandon','Gerente','F','21/03/60',240000,'B003');
insert into empleado values('SL41','Julie','Roberts','Asistente','F','13/06/63',90000,'B005');
insert into empleado values('SL22','Juan','Blanco','Gerente','M','01/10/44',300000,'B005');
insert into empleado values('SG36','Luis','Jara','Asistente','M','10/11/61',120000,'B003');
insert into empleado values('SG13','David','Gates','Supervisor','M','09/09/58',180000,'B003');
insert into empleado values('SA8','Maria','Bombal','Asistente','F','17/09/59',90000,'B007');
insert into empleado values('SG4','Susana','Sarandons','Gerente','F','21/03/60',240000,'B003');
insert into empleado values('SL40','James','Bond','Asistente','F','13/06/63',90000,'B005');
insert into empleado values('SL50','Juan','Perez','Vendedor','M','13/06/63',151000,'B015');
insert into empleado values('SL60','Jaime','Soto','Vendedor','M','14/06/83',350000,'B115');
insert into empleado values('SL70','Julia','Berne','Vendedor','F','23/01/53',200000,'B215');
insert into empleado values('SL55','Jorge','Fernandez','Vendedor','M','13/06/63',151000,'B015');
insert into empleado values('SL65','Jose','Isla','Vendedor','M','14/06/83',350000,'B115');

select *
from empleado

select nombre, fechnac, (sysdate -fechnac) / 365 as edad
from empleado
where numempleado = 'SL40'

select trim(nombre), fechnac, trunc((sysdate -fechnac) / 365) as edad
from empleado
where upper(numempleado) = upper('SL40')

declare
  vnumEmpleadoTmp char(4);
  vnumEmpleado char(4);
  vnombre varchar(30);
  vfecha date;
  vedad integer(2);


set serveroutput on
declare
  vnumEmpleado empleado.numempleado%TYPE;
  vnombre empleado.nombre%TYPE;
  vfecha empleado.fechnac%TYPE;
  vedad integer;
begin
  vnumEmpleado := '&IngreseNumeroEmpleado';
  select trim(nombre), fechnac, trunc((sysdate -fechnac) / 365) as edad into vnombre,vfecha,vedad
  from empleado
  where upper(numempleado) = upper(vnumEmpleado);
  dbms_output.put_line('Nombre: '||trim(vnombre)||' Fecha Nacimiento: '||vfecha||' Edad: '||vedad);
end;

begin
  vnumEmpleado := '&vnumEmpleadoTmp';
  select trim(nombre), fechnac, trunc((sysdate -fechnac) / 365) as edad into vnombre,vfecha,vedad
  from empleado
  where upper(numempleado) = upper(vnumEmpleado);
  dbms_output.put_line('Nombre: '||vnombre||' Fecha Nacimiento: '||vfecha||' Edad: '||vedad);
end;

set serveroutput on
declare
  vnumEmpleado empleado.numempleado%TYPE;
  vnombre empleado.nombre%TYPE;
  vfecha empleado.fechnac%TYPE;
  vedad integer(2);
begin
  vnumEmpleado := '&IngreseNumeroEmpleado';
  select trim(nombre), fechnac, trunc((sysdate -fechnac) / 365) as edad into vnombre,vfecha,vedad
  from empleado
  where upper(numempleado) = upper(vnumEmpleado);
  dbms_output.put_line('Nombre: '||vnombre||' Fecha Nacimiento: '||vfecha||' Edad: '||vedad);
end;


set serveroutput on
declare
  vnumEmpleado empleado.numempleado%TYPE;
  vnombre empleado.nombre%TYPE;
  vfecha empleado.fechnac%TYPE;
  vedad integer;
begin
  vnumEmpleado := '&IngreseNumeroEmpleado';
  select trim(nombre), fechnac, trunc((sysdate -fechnac) / 365) as edad into vnombre,vfecha,vedad
  from empleado
  where upper(numempleado) = upper(vnumEmpleado);
  dbms_output.put_line('Nombre: '||trim(vnombre)||' Fecha Nacimiento: '||vfecha||' Edad: '||vedad);
end;


set serveroutput on
declare
  vnumEmpleado empleado.numempleado%TYPE;
  vnombre empleado.nombre%TYPE;
  vfecha empleado.fechnac%TYPE;
  vedad integer;
begin
  vnumEmpleado := '&IngreseNumeroEmpleado';
  select trim(nombre), fechnac, trunc((sysdate -fechnac) / 365) as edad into vnombre,vfecha,vedad
  from empleado
  where upper(numempleado) = upper(vnumEmpleado);
  dbms_output.put_line('Nombre: '||trim(vnombre)||' Fecha Nacimiento: '||vfecha||' Edad: '||vedad);
end;

No hay comentarios:

Publicar un comentario