Академический Документы
Профессиональный Документы
Культура Документы
2014 -II
Pgina 1
2014 -II
Implementar una vista que muestre los productos por tipo registrados en el
sistema.
Solucin:
create view
vproductos
as
select
p.nombre, p.descripcion, tp.tipo
from
producto p, tipo_producto tp
where
p.idtipo_producto=tp.idtipo_producto;
Implementar una vista que muestre las ventas del da y el empleado por
que realizado la venta. Ordenar dicho registro por nmero de venta.
Pgina 2
2014 -II
2.- Variables: Son objetos que se usan dentro de un programa procedimiento o funcin
que sirven para almacenar valores y se caracterizan porque ese valor puede cambiar
durante la ejecucin del programa procedimiento o funcin. En MySQL para trabajar con
un variable se tiene que declarar y luego asignar valores.
2.1.- La sintaxis para declarar una variable es:
Declare Nombre de variable tipo de dato;
Ejemplo:
Declare Num int;
Para asignar un valor es:
Set Nombre de variable=valor;
Ejemplo:
Set Num=34;
Tambin se puede trabajar con variables libres; es decir que no necesitan
ser declaradas.
Ejemplo:
Set @num=27;
Select SUM(@num+21);
3.- Flujos de Control:
3.1.- CASE: Este flujo de control nos permite evaluar el resultado de un valor en
particular y dependiendo del valor que toma que sea mostrar un resultado.
CASE value WHEN [compare_value] THEN result [WHEN [compare_value]
THEN result ...] [ELSE result] END ;
Ejemplo:
Select CASE 2 WHEN 1 THEN 'one'
WHEN 2 THEN 'two' ELSE 'more' END;
Retorna ---------- two
SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;
Retorna ----- true.
Pgina 3
2014 -II
SELECT IF((7%2)=0,'Si','No');
Retorna ------ No.
SELECT IF(STRCMP('Sistemas','SISTEMAS'),'No es','Si es');
Retorna -
Si es.
Pgina 4
2014 -II
DELIMITER//
CREATE PROCEDURE NOMBREPROCEDIMIENTO ([Argumentos])
Begin
Instrucciones;
End//
DELIMITER;
Luego de creado el procedimiento quedara formando parte de la base de datos
como un objeto ms de la misma. Posteriormente podremos utilizar el
procedimientos para lo cual lo llamaremos siguiendo la siguiente sintaxis.
Call nombreprocedimiento([Valores de los argumentos]);
4.2.- Procedimientos sin parmetros: Son aquellos procedimientos que entre los
parntesis no llevan ningn argumento.
Ejemplos
Pgina 5
2014 -II
5.- Funciones: Son casi lo mismo o similares a los procedimientos almacenados con la
diferencia de que estas siempre retornan un valor y al momento de pasar los parmetros,
no se necesita indicarles si es del tipo input u output, esta caracterstica es propia del
MySQL.
5.1.- Sintaxis General:
Delimiter//
Create function Nombre_funcion([Argumentos]) as Returns TipoDatoDevueve
Begin
Instrucciones;
Return valor_devolver;
End//
Pgina 6
2014 -II
Delimiter;
5.2.- Ejemplos de Aplicacin:
Implementar una funcin que capture las primeras letras de una cadena de
caracteres.
Solucin:
CREATE
FUNCTION
captura_letras(texto
varchar(100))
RETURNS
varchar(10)
BEGIN
declare letras varchar(15) default '';
declare cont int default 0;
while cont<=length(texto) do
if mid(texto,cont,1)=space(1) then
set letras=Concat(letras,mid(texto,cont+1,1));
end if;
set cont=cont+1;
end while;
return letras;
Pgina 7
2014 -II
END $$
DELIMITER ;
Ejercicios: Los siguientes ejercicios trabajar con la base de datos mybdventa.
1.- Implementar una funcin que capture las primeras letras de una cadena de caracteres.
2.- Implementar una funcin que genere el cdigo de un cliente haciendo uso de la
funcin implementada en el punto nmero 1.
3.- Implementar un procedimiento almacenado que inserte clientes haciendo uso de la
funcin implementada en el punto nmero 2.
4.- implementar una funcin que permita conocer el nmero de clientes que se encuentran
registrados en el sistema de ventas.
Pgina 8