Practica de Oracle (FUNCIONES)

Universidad Mariano Gálvez Facultad de Ingeniería en Sistemas Sede Villa Nueva Curso: Bases de Datos II Catedrático: Ing

Views 79 Downloads 0 File size 212KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Mariano Gálvez Facultad de Ingeniería en Sistemas Sede Villa Nueva Curso: Bases de Datos II Catedrático: Ing. Héctor Santos

Practica de Oracle (FUNCIONES) Instrucciones: La resolución de la práctica debe de ser de forma individual. Puede hacer uso de todo el material necesario. Genere un script con todas las sentencias SQL que utilizo para resolver la práctica con sus comentarios respectivos, el cual deberá de entregar al finalizar la misma.

Una librería almacena la información de sus libros en una tabla llamada "libros". Eliminamos la tabla: drop table libros;

Creamos la tabla "libros" con la siguiente estructura: create table libros( codigo number(3), titulo varchar2(40), autor varchar2(30), precio number(5,2) );

Ingresamos algunos registros: insert insert insert insert insert insert

into into into into into into

libros libros libros libros libros libros

values(100,'Uno','Richard Bach',15); values(300,'Aprenda PHP','Mario Molina',55); values(102,'Matematica estas ahi','Paenza',18); values(105,'El aleph','Borges',25); values(109,'El experto en laberintos','Gaskin',20); values(204,'Alicia en el pais de las maravillas','Carroll',31);

Creamos o reemplazamos una función que reciba 1 parámetro (un valor numérico a incrementar) y retorne el valor ingresado como argumento con el incremento del 10%: create or replace function f_incremento10 (avalor number) return number is begin return avalor+(avalor*0.1); end;

Realizamos un "select" sobre "libros" que muestre el título, precio y llamamos a la función creada anteriormente para que nos devuelva el precio incrementado en un 10%: select titulo,precio,f_incremento10(precio) from libros;

Creamos otra función que reciba 2 parámetros, un valor a incrementar y el incremento, y que nos retorne el valor ingresado como primer argumento con el incremento especificado por el segundo argumento:

create or replace function f_incremento (avalor number, aincremento number) return number is begin return avalor+(avalor*aincremento/100); end;

Realizamos un "select" sobre "libros" que muestre el título, precio y el precio incrementado en un 20% (llamando a la función creada anteriormente, enviando como primer argumento el campo "precio" y como segundo argumento el valor "20"): select titulo,precio,f_incremento(precio,20) from libros;

1. ¿Qué fue lo que usted observo en esta función? Realizamos otro "select" similar al anterior, pero en esta ocasión le enviamos a la función otro valor como segundo argumento: select titulo,precio,f_incremento(precio,50) from libros;

2. ¿Qué fue lo que usted observo en esta función? Creamos o reemplazamos una función que recibe un parámetro de tipo numérico y retorna una cadena de caracteres. Se define una variable en la zona de definición de variables denominada "valorretornado" de tipo varchar. En el cuerpo de la función empleamos una estructura condicional (if) para averiguar si el valor enviado como argumento es menor o igual a 20, si lo es, almacenamos en la variable "valorretornado" la cadena "economico", en caso contrario guardamos en tal variable la cadena "costoso"; al finalizar la estructura condicional retornamos la variable "valorretornado": create or replace function f_costoso (avalor number) return varchar2 is valorretornado varchar2(20); begin valorretornado:=''; if avalor