tarea 3

6

Click here to load reader

Upload: diego-nauto

Post on 08-Jul-2015

120 views

Category:

Documents


0 download

DESCRIPTION

Tarea 3 Ayudantia Sistema de Informacion Empresarial 2012

TRANSCRIPT

Page 1: Tarea 3

Universidad Austral de Chile Facultad de Ciencias Económicas y Administrativas

Instituto de Administración Escuela de Ingeniería Comercial

ADMI 273

Tarea N° 3.-

Curso: Sistema de Información Empresarial Profesor: Cristian Salazar

Ayudante: José Luis Daniel Carrasco

Integrante:

Diego Nauto C.

Valdivia, 16 de Junio de 2012.

Page 2: Tarea 3

ADMI273-ADMI273 Universidad Austral de Chile. 1.- Se solicita obtener mediante una función el resultado de la multiplicación de 8 por 9.

create or replace function uno return number is

Resultado number;

begin

Resultado := 8*9;

return Resultado;

end uno;

2.- Se solicita obtener mediante una función el resultado de la división de 4 por 55.

create or replace function dos return number is

Resultado number;

begin

Resultado := 4*55;

return Resultado;

end dos;

3.- Investigar el uso de parámetros en una función, y desarrolle una función para cada uno de los siguientes ejercicios:

F(X,Y) = X+Y

create or replace function FXY(valor1 in number, Valor2 in

number) return number is

Result number;

begin

Result := valor1 + Valor2;

return Result;

end FXY;

F(X,Y,Z) = (X+Y)*Z

create or replace function FXYZ(valor1 in number, Valor2 in

number, Valor3 in number) return number is

Result number;

begin

Result := (valor1 + Valor2)* Valor3;

return Result;

end FXYZ;

Page 3: Tarea 3

F(W,X,Y,Z) = W(X-1)(Y-Z)(Z+2) create or replace function FWXYZ(valor1 in number, Valor2 in

number, Valor3 in number, Valor4 in number) return number is

Result number;

begin

Result := Valor4 * (valor1 - 1 )*(Valor2 - Valor3) * (Valor3 +

2);

return Result;

end FWXYZ;

4.- Investigue el uso de la sentencia “INTO”.

SELECT INTO crea una nueva tabla en el grupo de archivos predeterminados e inserta las filas resultantes de la consulta en ella.

La New_table especifica el nombre de una nueva tabla que se va a crear en función de las columnas de la lista de selección y de las filas elegidas desde el origen de datos. Este formato se determina mediante la evaluación de las expresiones de la lista de selección. Las columnas se crean en el orden que especifica la lista de selección. Cada columna de tiene el mismo nombre, tipo de datos, nulabilidad y valor que la expresión correspondiente de la lista de selección.

5.- Se define que la morosidad excesiva es referida a cuando un estudiante no ha hecho entrega de un préstamo por un tiempo igual o superior a 20 días. Realice una función que entregue el N° de prestamos con Morosidad Excesiva.

create or replace function Contador return number is Result

number;

begin

select count(trunc(sysdate) - trunc(p.fecha_e)) as Mexcesivos

into Result

from prestamo p

where (trunc(sysdate) - trunc(p.fecha_e)) >= 20;

return result;

end Contador;

Page 4: Tarea 3

6.- Desarrolle lo mismo que en el ejercicio 5, solo que esta vez el valor de 20 días pueda ser variable, esto es pasándolo como parámetro a la función.

create or replace function Contador1 (Valor1 in number) return

number is Result number;

begin

select count(trunc(sysdate) - trunc(p.fecha_e)) as Mexcesivos

into Result

from prestamo p

where (trunc(sysdate) - trunc(p.fecha_e)) >= Valor1;

return result;

end Contador1;

7.- Se solicita pasar por parámetro a la función el número de días a evaluar y el valor por día de atraso. Se debe entregar el valor total de las deudas adquiridas por todo el alumnado.

create or replace function Contador2 (DIAS in number,MULTA in

number) return number is Result number;

begin

select sum(trunc(sysdate) - trunc(p.fecha_e))* MULTA as

Mexcesivos

into Result

from prestamo p

where (trunc(sysdate) - trunc(p.fecha_e)) >= DIAS;

return Result;

end Contador2;

8.- Investigue cual es la diferencia entre FUNCTION y PROCEDURE en PLSQL.

Los procedimientos son tradicionalmente el workhorse del mundo de la codificación y las funciones son tradicionalmente los pedazos más pequeños, más específicos del código. Los procedimientos o funciones PLSQL son dinámicos ya que admiten parámetros que les pueden ser pasados antes de su ejecución. Por lo tanto, un procedimiento o función puede realizar diferentes tareas dependiendo de los parámetros que le hayan pasado. Los procedimientos PL/SQL son subprogramas compuestos por un conjunto de sentencias SQL. Funciones y procedimientos PL/SQL no son muy diferentes. Un procedimiento o función está constituido por un conjunto de sentencias SQL y PL/SQL lógicamente agrupados para realizar una tarea específica. Los procedimientos y funciones almacenados constituyen un bloque de código PLSQL que ha sido compilado y almacenado en las tablas del sistema de la base de datos Oracle.

Page 5: Tarea 3

9.- Lea los artículos de INSERT, UPDATE y DELETE que se encuentran en Definiciones al final de este documento.

LEIDOS ARTICULOS INSERT-UPDATE-DELETE.

10.- Realice un procedimiento (PROCEDURE) que reciba como parámetro el Rut del Estudiante, el Código del Libro y el Rut del Funcionario. Este procedimiento debe ingresar un préstamo, considerando que todos los libros se prestan por 3 días. (Usar INSERT y SYSDATE)

create or replace procedure prueba (rut_est1 in number,

cod_libro1 in number, rut_func1 in number) is

begin

insert into prestamo (rut_est, rut_func, cod_libro, fecha_p,

fecha_e)

values (rut_est1, rut_func1, cod_libro1, trunc(Sysdate),

(trunc(sysdate) + 3));

commit;

end prueba;

11.- Realice un procedimiento que entregue un libro, esto es ingresando el Rut del Estudiante y el Libro respectivamente (Usar DELETE).

create or replace procedure entrega (rut_est1 in number,

cod_libro1 in number, x out number ) is

begin

delete from PRESTAMO

where rut_est1 = rut_est

and cod_libro1 = cod_libro;

commit;

x:=1;

end entrega;

Page 6: Tarea 3

12.- Realizar un procedimiento que realice lo mismo que el ejercicio 7, pero que se le entreguen 2 parámetros (días a evaluar y valor por día de atraso en pesos chilenos) y muestre 3 parámetros de salida (deuda total del alumnado en pesos chilenos, en euros y en dólares).

create or replace procedure Contador18 (DIAS in number,

MULTA in number,

pesos out number,

euro out number,

dollar out number) is

begin

select sum(trunc(sysdate) - trunc(p.fecha_e)) * MULTA,

round(sum(trunc(sysdate) - trunc(p.fecha_e)) * MULTA

/ 500),

round(sum(trunc(sysdate) - trunc(p.fecha_e)) * MULTA

/ 700)

into pesos, euro, dollar

from prestamo p

where (trunc(sysdate) - trunc(p.fecha_e)) >= DIAS;

--aqui calcule atrasos en pesos dollar y euro

end Contador18;