jueves, 2 de junio de 2011

tablas XD

create table cliente(
rut_cliente integer,
paterno varchar2(10),
materno varchar2(10),
nombres varchar2(10),
email varchar2(20),
sexo char(1),
fecha_ingreso date,
fecha_actualizacion date,
usuario varchar2(10)
)

create table telefono(
telefono integer,
tipo_pago integer,
tipo_promocion integer,
cantidad_sms integer,
fecha_ingreso date,
fecha_actualizacion date,
usuario varchar2(10)
)

create table llamada(
telefono integer,
fecha_hora_inicio date,
fecha_hora_termino date,
tarifa integer,
fecha_ingreso date,
fecha_actualizacion date,
usuario varchar2(10)
)

create table historico(
correlativo integer,
codigo integer,
nota varchar2(50),
fecha date
)

cursor implicito mensaje fila b

declare
l_telefono number;
l_cantidad_sms number;
l_precio number;

begin
select telefono, cantidad_sms, precio
into l_telefono,
l_cantidad_sms,
l_precio
from mensaje
where telefono = 4198717;

dbms_output.put_line('Los Valores son :'||l_telefono||' '||l_cantidad_sms||' '||l_precio);
end;

secuencia_historico

create sequence correlativo
increment by 1
start with 1

select correlativo.NEXTVAL
FROM DUAL;

trg_update

create trigger trg_update
before update on TELEFONO
for each row
begin
:new.fecha_actualizacion := sysdate;
end;

insert_telefono

create trigger trg_insert_telefono
before insert on telefono
for each row
begin
case
when :new.promocion > 0 and :new.promocion <= 10 then
:new.cantidad_sms := 30;
when :new.promocion >10 and :new.promocion <=20 then
:new.cantidad_sms :=50;
when :new.promocion >20 and :new.promocion <=30 then
:new.cantidad_sms :=100;
end case;
end;

1

create trigger trg_insert
before insert on CLIENTE
for each row
begin
:new.fecha := sysdate;
end;

SHANSHES SUBELAS PO XORO

tengoi las 4 primeras
Fomra a

Yapo cabros

Suban alguna wea po :D

miércoles, 1 de junio de 2011

El mes de descanzo

Indio jairo XD

meanwhile in " Jai-Room"




puta la wea mi pieza XD

ACTIVIDAD 6

Actividad # 6

Realice las siguientes actividades correspondientes a Programación PL/SQL Oracle:

1. Realice la implementación de un programa que utilice la instrucción IF/THEN/END IF
Almacene el programa con nombre = consulta_if_then_end_if.sql

declare
l_contador number:=0; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial

--Seccion de ejecucion del prograqma
begin
l_contador :=l_contador + 1; --sumar 1 al valor actual del contador

if l_contador = 1 then

dbms_output.put_line('Contador es igual a 1 :D');

end if;


l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

dbms_output.put_line(l_nombre);

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
2. Realice la implementación de un programa que utilice IF/THEN/ELSE/END IF
Almacene el programa con nombre = consulta_if_then_else_end_if.sql

declare
l_contador number:=10; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial

--Seccion de ejecucion del prograqma
begin
l_contador :=l_contador + 1; --sumar 1 al valor actual del contador

if l_contador = 1 then

dbms_output.put_line('Contador es igual a = '||l_contador);

else

dbms_output.put_line('Contador es igual a = '||l_contador);

end if;


l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

dbms_output.put_line(l_nombre);

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
3. Realice la implementación de un programa que utilice IF/THEN/ELSIF/…/END IF
Almacene el programa con nombre = consulta_if_then_elsif_end_if.sql

declare
l_contador number:=10; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial

--Seccion de ejecucion del prograqma
begin
l_contador :=l_contador + 1; --sumar 1 al valor actual del contador

if l_contador = 1 then
dbms_output.put_line('Contador es igual a = '||l_contador);
elsif l_contador = 2 then
dbms_output.put_line('Contador es igual a = '||l_contador);
elsif l_contador = 3 then
dbms_output.put_line('Contador es igual a = '||l_contador);
elsif l_contador = 4 then
dbms_output.put_line('Contador es igual a = '||l_contador);
else
dbms_output.put_line('Contador tiene otro valor = '||l_contador);
end if;

l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

dbms_output.put_line(l_nombre);

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
4. Realice la implementación de un programa que utilice la instrucción CASE
Almacene el programa con nombre = consulta_case.sql

declare
l_contador number:=0; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial

--Seccion de ejecucion del prograqma
begin
l_contador :=l_contador + 1; --sumar 1 al valor actual del contador
l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

case
when l_contador = 1 then
dbms_output.put_line('contador es 1');
when l_contador = 2 then
dbms_output.put_line('contador es 2');
when l_contador = 3 then
dbms_output.put_line('contador es 3');
when l_contador = 4 then
dbms_output.put_line('contador es 4');
when l_contador = 5 then
dbms_output.put_line('contador es 5');
end case;

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
5. Realice la implementación de un programa que utilice el ciclo de repetición LOOP para obtener la sumatoria de la serie 5n + 8 y el despliegue de los valores de n y los montos individuales, para un valor especifico de n.
Almacene el programa con nombre serie_5n_8.sql

declare
l_contador number:=0; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial
l_n number :=0;

--Seccion de ejecucion del prograqma
begin
--l_contador :=l_contador + 1; --sumar 1 al valor actual del contador
l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

loop
if l_contador = 10 then
dbms_output.put_line('Operacion completa');
exit;
end if;
l_contador := l_contador + 1;
l_n := 5 * l_contador + 8;

dbms_output.put_line('resultado = 5 *'||l_contador ||' + 8 ='|| l_n);
end loop;

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
6. Realice la implementación de un programa que utilice el ciclo de repetición WHILE para obtener la sumatoria de la serie 3n +5 y el despliegue de los valores de n y los montos individuales, para un valor especifico de n.
Almacene el programa con nombre serie_3n_5.sql

declare
l_contador number:=0; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial
l_n number :=0;

--Seccion de ejecucion del prograqma
begin
l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

while l_contador <= 9 loop
l_contador := l_contador + 1 ;
l_n := 3 * l_contador + 5;
dbms_output.put_line('resultado = 3 *'||l_contador ||' + 5 ='|| l_n);
end loop;

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
7. Realice la implementación de un programa que utilice el ciclo de repetición FOR con incremento creciente para obtener la sumatoria de la serie 5n+6n-3 y el despliegue de los valores de n y los montos individuales, para un valor especifico de n.
Almacene el programa con nombre serie_5n_6n-3.sql

declare
l_contador number:=0; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial
l_n number :=0;

--Seccion de ejecucion del prograqma
begin
l_contador :=l_contador + 1; --sumar 1 al valor actual del contador
---l_n := ((5 * l_contador) + (6 * l_contador)) - 3;
l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

for l_contador in 1..10
loop
l_n := ((5 * l_contador) + (6 * l_contador)) - 3;
dbms_output.put_line('Resultado de 5 * '||l_contador ||'+ 6 *'||l_contador||'- 3 ='|| l_n);
end loop;

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
8. Realice la implementación de un programa que utilice el ciclo de repetición FOR con incremento Inverso para mostrar los valores de la serie n*n +7n +5 y el despliegue de los valores de n y los montos individuales, para un valor especifico de n
Almacene el programa con nombre serie_nn_7n+5.sql

declare
l_contador number:=10; ---inicializa valor en 0
l_fecha date:=sysdate; ---asigna fecha del sistema
l_nombre varchar2(50); ---variable sin valor inicial
l_n number :=0;

--Seccion de ejecucion del prograqma
begin
---l_contador :=l_contador - 1;
---l_n := l_contador*l_contador
l_nombre :='PEDRO RIVERA'; --asigna valor a la variable nombre

for l_contador in reverse 1..10
loop
l_n := l_contador*l_contador + 7 * l_contador + 5;
dbms_output.put_line('Resultado :'||l_contador||'*'||l_contador||'+ 7 * '||l_contador||'+ 5 ='||l_n);
end loop;

--seccion de tratamientos de errores del programa
exception
--rutina generica de tratamiento d cualquier tipo de error
when others then
--imprimir un mensaje de error si existe
raise_application_error(-20100,'Error : '||sqlcode||'desc : '||sqlerrm);
end;
9. Realice la implementación de un cursor implícito para obtener los valores de los campos rut_cliente, razón_social y nombre_contacto de la tabla CLIENTES para un rut particular
Almacene el programa con nombre cursor_i_clientes.sql

Declare
l_rut Integer;
l_razon varchar2(50);
l_nombre varchar2(50);
Begin
Select rut_cliente,
razon_social,
nombre_contacto
Into l_rut,
l_razon,
l_nombre
From Clientes
Where rut_cliente = 177653144;
Dbms_output.put_line(l_rut||' | '||l_razon||' | '||l_nombre);
End;
insert into Clientes(
rut_cliente,
rut_dv,
rut_vendedor,
cantidad_trabajadores,
nombre_contacto,
email_contacto,
telefono_contacto
)values(
17765314,
4,
181166800,
4,
'bruno',
'brlobos',
8562801
)
10. Realice la implementación de un cursor implícito para obtener los valores rut_vendedor, paterno, materno y nombres para el primer registro de la tabla VENDEDORES
Almacene el programa con nombre cursor_i_vendedores.sql

Declare
l_rut Integer;
l_paterno varchar2(10);
l_materno varchar2(10);
l_nombres varchar2(10);
Begin
Select rut_vendedor,
paterno,
materno,
nombres
Into l_rut,
l_paterno,
l_materno,
l_nombres
From VENDEDORES
Where rut_vendedor = 181166800;
Dbms_output.put_line(l_rut||' | '||l_nombres||' '||l_paterno||' '||l_materno);
End;
11. Realice la implementación de un cursor explícito para mostrar los campos rut_cliente, razón_social, nombre_contacto, email_contacto para todos los registros de la tabla CLIENTES
Almacene el programa con nombre cursor_e_clientes.sql

declare
cursor get_data is
select rut_cliente,razon_social,nombre_contacto,email_contacto
from Clientes;
begin
for i in get_data
loop
dbms_output.put_line(i.rut_cliente||'|'||i.razon_social||'|'||i.nombre_contacto||'|'||i.email_contacto);
end loop;
end;
12. Realice la implementación de un cursor explícito para mostrar los campos rut_vendedor, paterno, materno, nombres para todos los registros de la tabla VENDEDORES
Almacene el programa con nombre cursor_e_vendedores.sql


declare
cursor get_data is
select rut_vendedor,paterno,materno,nombres
from VENDEDORES;
begin
for i in get_data
loop
dbms_output.put_line(i.rut_vendedor||'|'||i.paterno||'|'||i.materno||'|'||i.nombres);
end loop;
end;

13

13. Realice la implementación de un cursor explícito para mostrar los campos rut_cliente, razón_social,rut_vendedor, paterno, materno,nombres para todos los registros de la tabla CLIENTES realizando Join VENDEDORES
Almacene el programa con nombre cursor_e_clientes_vendedores.sql

declare
cursor get_data is
select a.rut_cliente,a.razon_social,b.rut_vendedor,b.paterno,b.materno,b.nombres
from Clientes a,Vendedores b
where a.rut_cliente = b.rut_cliente;
begin
for i in get_data
loop
dbms_output.put_line(i.rut_cliente||' '||i.razon_social||'-rut vendedor: '||i.rut_vendedor||' '||i.paterno||' '||i.materno||' '||i.nombres);
end loop;
end;

|14

14. Realice la implementación de un cursor explícito para mostrar los campos numero_pedido, fecha_pedido, rut_cliente, razón_social para todos los registros de la tabla PEDIDOS mediante Join con la tabla CLIENTES
Almacene el programa con nombre cursor_e_pedidos_clientes.sql

declare
cursor get_data is
select a.numero_pedido,a.fecha_pedido,a.rut_vendedor,b.paterno,b.materno,b.nombres
from PEDIDOS a,VENDEDORES b
where a.rut_vendedor = b.rut_vendedor;
begin
for i in get_data
loop
dbms_output.put_line(i.numero_pedido||'-'||i.fecha_pedido||'-'||i.rut_vendedor||'-'||i.paterno||'-'||i.materno||'-'||i.nombres);
end loop;
end;

15

15. Realice la implementación de un cursor explícito para mostrar los campos numero_pedido, rut_vendedor, paterno, materno y nombres para todos los registros de la tabla PEDIDOS mediante Join con la tabla VENDEDORES.
Almacene el programa con nombre cursor_e_pedidos_vendedores.sql


declare
cursor get_data is
select a.numero_pedido,b.rut_vendedor,b.paterno,b.materno,b.nombres
from PEDIDOS a,VENDEDORES b
where b.rut_vendedor = a.rut_vendedor;
begin
for i in get_data
loop
dbms_output.put_line(i.numero_pedido||'-'||i.rut_vendedor||'-'||i.paterno||'-'||i.materno||'-'||i.nombres);
end loop;
end;
Nota: Utilice las script de creación de las tablas CLIENTES, VENDEDORES y PEDIDOS de la actividad # 3.

Implícito solamente trae un registro

Declare
l_nombre varchar2(10);
L_paterno varchar2(10);
Begin
Select nombre,
Paterno
Into l_nombre
L_paterno
From Vendedores
Where rut_vendedor = 1;

Dbms_output.put_line(l_nombre||’ ’||l_paterno);
End;





Explicito
Declare
Cursor get_data is
Select nombre,paterno
From Vendedores;
Begin
For I in get_data
Loop
Dbms_output.put_line(i.nombre||’ ’||i_paterno);
End loop;
End;




Como hacer el join

Explicito
Declare
Cursor get_data is
Select a.nombre,b.paterno
From Vendedores a,Clientes b
Where a.rit_vendedor = b.rut_vendedor;
Begin
For I in get_data
Loop
Dbms_output.put_line(i.nombre||’ ’||i_paterno);
End loop;
End;