miércoles, 28 de diciembre de 2011

procedimiento 28/12

create
or replace FUNCTION parimpar (pnumero int)
return varchar2 /*tipo de dato que la funcion va a entregar*/
is
vtexto
varchar2(5);
begin
if mod(pnumero,2)= 0 then
vtexto
:='PAR';
else
vtexto
:='IMPAR'
end if;
return vtexto;
end parimpar;
 
select
parimpar (4) from dual

clase 28/12

Select to_char (sysdate,'DAY') from dual;(PERMITE DESPLEGAR EL DIA DE LA SEMANA DAY SI ES MAYUSCULA MOSTRARA EL DIA EN MAYUSCULA DE LO CONTRARIO
MINUSCULA
Select add_months(sysdate,1) from dual ( permite adelantar 1 mes )

Select to_char(last_day(to_date('01-10-2012','dd-mm-yyyy'))) from dual(permite mostrar el ultimo dia del mes  10)
select chr (64)from dual (permite mostrar el ascii
select concat ('hola','mundo') from dual (permite concatenar solo 2 caracteres)
select lpad ('hola',20,'*') from dual ( permite ****************hola)
select rpad ('hola',20,'*') from dual ( permite hola****************)
select replace (' el profe es vacan', 'v','b') from dual (permite reemplazar ejemplo  el profe es bacan)
select substr ('el galeon español',4,6) from dual ( permite mostrar buscar galeon)
select ceil (3.52) from dual (muestra nro 4)
select mod (10,5) from dual (permite mostrar si es par o impar muestra "0")

select nvl (trim ('    '),0) from dual
select power (2,5) from dual ( muestra el resultado de 2^5 resultado 32)
select round (2.27,1) from dual ( MUESTRA 2,3)

select numempleado, sexo, decode(sexo,'F', 'Mujer','M','Hombre','Ambiguo') from empleado (permite

sábado, 10 de diciembre de 2011

CLASE 10/12

listar todo el personal con un sueldo entre 200000 y 300000
1.- select * from empleado where salario >=200000
  and salario <=300000
2.-select * from empleado where salario between 200000 and 300000;

listar fecha de nac dic 1960
  select * from empleado where fechanac between '1/12/1960' and '31/12/1960'
  between  = permite comparar caracteres numericos
listar  
  select  e.numempleado,e.nombre,o.ciudad
    from empleado e, oficina o where e.numoficina = o.numoficina

comandos

in
between
upper
lower
roud
varchar2
number
integer
boolean
like = permite comparar elemento
trim =
rtrim
ltrim
eliminar los registros de una tabla
  delete from empleado where salario between 100000 and 200000
borrar tabla
listar todos lo gerente sueldo mayor a 200000
  select * from empleado where cargo ='gerente' and salario >=100000

listar todos lo clientes con el string `glasgow`en su direccion
   select * from cliente where direccion like '%glasgow%`;
  select * from cliente where upper (direccion) like '%glasgow%`;
  
   select * from cliente where direccion like 'mari_`; = solo 1 caracter
  select * from empleado where trim(cargo) like 'gerent_'

viernes, 9 de diciembre de 2011

CLASE 09/12

numeric (5,1) 2 cual es el valor que aguanta un decimal cuatro entero y un decimal
constraintint, pk_persona
constraint = es una restriccion, es decir para que sean valores unicos
que comando utilizo para saber cuantas tablas tengo
  select * from tab
                cab
desc persona = muestra la estructura
insertar registro
   insert into persona values (1,'pedro','picapiedra','1-12-1960',200.0);
 create sequence seqpersona;
    incrementa de cero y parte de 1
 create sequence seqpersona
 start with 1
 increment by 1
 select seqpersona.nextval from dual (permite mostrar de 1 en 1)

 insert into persona values (seqpersona.nextval,'pedro','picapiedra','1-12-1960',200.0);
   permite incrementar de 1 en 1
drop (eliminar tabla)
  listar numero de propiedad (numpropiedad)
  las propiedades que han sido visitadas
         select numpropiedad
         from visita
         order by numpropiedad
listar el salario mensual para todos los empleados
  select numempleado,nombre,salario/12 as "salario mensual"
  from empleado
  que hace el round (aproxima ) solo deja 1 decimal
  select numempleado,nombre, round (salario/12,1) as "salario mensual"
  from empleado;
  
    empleado salario que sean mayor de 100.000.-
     select numempleado,nombre,salario/12 as "salario mensual"
     from empleado
      where salario > 100000;

    oficinas que estan en la ciudad de castellon o santiago
   
     select * from oficina where upper (ciudad)='ARICA'
     or lower(ciudad)='santiago'  

     select * from oficina
     where upper (ciudad) in ('ARICA','SANTIAGO')

   listar todos los empleados que no son gerentes ni supervisores

sábado, 3 de diciembre de 2011

clase 03/12/2011

/*create table arriendo (
numarriendo interger not null,
numpropiedad char(4),
numcliente char (4),
renta float,
formapago char(10),
deposito float,
pagado char (1),
iniciorenta date,
finrenta date,
constraint pk_arriendo primary key (numarriendo) );*/
drop table t1create
id
table t1 ( integer not null ,nombre
apellido
varchar (25), varchar (30),fecha
constraint
date, pk_t1 primary key (id) );desc t1INSERT into T1 values (1,'luisa', 'apaz', '27/10/1978');INSERT
select


**************Apuntes******************
Opciones  de crear llaves primaria
Ejemplos
  Numarriendo integer not null primary key,
 Constraint pk_arriendo primary key (numarriendo);
Ddl : CREA
Ejemplo
  CREATE TABLE
Dml: MANIPULA DATOS
LENG
INSERT UPDATE DELETE
into T1 values (2,'mary', 'gutierrez', sysdate); * from t1

viernes, 2 de diciembre de 2011

clase 02/12 SQL

/*select * from empleado where LOwER (sexo) ='f'*/
/*desc empleado*/
/*select cargo, count(numempleado) as cantidad
from empleado
group by cargo
having count(*) >= 5
/*order by cargo desc*/
select
count (*) from empleado where upper(cargo) = 'ASISTENTE' and lower(sexo) ='f' desc oficinaselect
ciudad, count (*) from oficinagroup by ciudad