You are on page 1of 16

UNIVERSIDAD AUSTRAL DE

CHILE
FACULTAD
DE
CIENCIAS
ECONMICAS
Y ADMINISTRATIVAS

Sistemas de Informacin
Empresarial (ADMI273)

Laboratorio 3
Consultas PL/SQLOracle
Alumnos: Alfredo Torres
Alejandro Vesperinas
Profesor: Cristian Salazar C.
Ayudante: Jos Luis Carrasco V.

15 de Junio de 2012

Actividades:

1.- Se solicita obtener mediante una funcin el resultado de la multiplicacin de 8 por 9.

2.- Se solicita obtener mediante una funcin el resultado de la divisin de 4 por 55.

3.- Investigar el uso de parmetros en una funcin, y desarrolle una funcin para cada uno
de los siguientes ejercicios:
a) F(X,Y) = X+Y

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

c) F(W,X,Y,Z) = W(X-1)(Y-Z)(Z+2)

4.- Investigue el uso de la sentencia INTO.


La clusula del Oracle PL/SQL INTO se usa en bloques PL/SQL para obtener los
resultados de la consulta SELECT en una variable local. Las columnas seleccionadas en la
consulta deben ser devueltas en las variables locales, que deben ser compatibles con las
columnas de tipo de datos. Tambin se utiliza en el archivo ejecutable (BEGIN...END)
seccin de un bloque PL/SQL.
En el uso por defecto la clusula [SELECT...INTO], la sentencia recupera una o ms
columnas de una sola fila. En el uso a granel [SELECT...BULK COLLECT INTO], la
sentencia recupera un conjunto de resultados completo en una sola operacin.
Por defecto, la declaracin [SELECT...INTO] slo puede devolver una sola fila. Si
se devuelve ms de una fila, PL/SQL produce la excepcin predefinida
TOO_MANY_ROWS (SQL Error-02112).
Ejemplo de uso:
DECLARE
L_EMPNONUMBER;
L_ENAMEVARCHAR2(1000);
L_DEPTNONUMBER;
L_SALARYNUMBER;
BEGIN
SELECTEMPNO,ENAME,DEPTNO,SALARY
INTOL_EMPNO,L_ENAME,L_DEPTNO,L_SALARY
FROMEMPLOYEES
WHEREEMPNO=100;
END;

5.-Se define que la morosidad excesiva es referida a cuando un estudiante no ha hecho


entrega de un prstamo por un tiempo igual o superior a 20 das. Realice una funcin que
entregue el N de prestamos con Morosidad Excesiva.

6.- Desarrolle lo mismo que en el ejercicio 5, solo que esta vez el valor de 20 das pueda ser
variable, esto es pasndolo como parmetro a la funcin.

7.- Se solicita pasar por parmetro a la funcin el nmero de das a evaluar y el valor por
da de atraso. Se debe entregar el valor total de las deudas adquiridas por todo el alumnado.

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


La nica diferencia entre procedimientos y funciones en PL/SQL es que las
funciones siempre devuelven un valor nico, mientras que los procedimientos no devuelven
un valor a la persona que llama.
Ejemplo:
CREATE OR REPLACE PROCEDURE my_proc
(p_name IN VARCHAR2 := 'John') as begin ... end
CREATE OR REPLACE FUNCTION my_func
(p_name IN VARCHAR2 := 'John') return varchar2 as begin ... end
Observe cmo la funcin tiene una clusula de retorno entre la lista de parmetros y la
palabra clave "como". Esto significa que se espera que tenga la ltima instruccin dentro
del cuerpo de la funcin de leer algo como:
return(my_varchar2_local_variable);
Donde my_varchar2_local_variable es cierto varchar2 que debera ser devuelto por esta
funcin.

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

10.- Realice un procedimiento (PROCEDURE) que reciba como parmetro el Rut del
Estudiante, el Cdigo del Libro y el Rut del Funcionario. Este procedimiento debe ingresar
un prstamo, considerando que todos los libros se prestan por 3 das. (Usar INSERT y
SYSDATE)

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

12.- Realizar un procedimiento que realice lo mismo que el ejercicio 7, pero que se le
entreguen 2 parmetros (das a evaluar y valor por da de atraso en pesos chilenos) y
muestre 3 parmetros de salida (deuda total del alumnado en pesos chilenos, en euros y en
dlares).

You might also like