Você está na página 1de 5

EJERCICIO 1 PROCEDIMIENTOS ALMACENADOS

Problema: Vamos a crear un procedimiento almacenado que contenga las siguientes instrucciones: - eliminacin de la tabla "libros" si existe; - creacin de la tabla "libros" con: codigo, titulo, autor, editorial, precio, cantidad; - ingresode algunos registros. En primer lugar, debemos eliminarlo, si existe (no hemos aprendido an a eliminar procedimientos almacenados, en prximos captulos lo veremos): if object_id('pa_crear_libros') is not null drop procedure pa_crear_libros; Creamos el procedimiento: create procedure pa_crear_libros as if object_id('libros')is not null drop table libros create table libros( codigo int identity, titulo varchar(40), autor varchar(30), editorial varchar(20), precio decimal(5,2), cantidad smallint, primary key(codigo) ) insert into libros values('Uno','Richard Bach','Planeta',15,5) insert into libros values('Ilusiones','Richard Bach','Planeta',18,50) insert into libros values('El aleph','Borges','Emece',25,9) insert into libros values('Aprenda PHP','Mario Molina','Nuevo siglo',45,100) insert into libros values('Matematica estas ahi','Paenza','Nuevo siglo',12,50) insert into libros values('Java en 10 minutos','Mario Molina','Paidos',35,300); Disponemos un punto y coma (;) en la ltima instruccin del procedimiento almacenado. Ejecutamos el procedimiento: exec pa_crear_libros; Veamos si ha creado la tabla: select *from libros; Ejecutamos el procedimiento almacenado del sistema "sp_help" y el nombre del procedimiento almacenado para verificar que existe el procedimiento creado recientemente:

sp_help pa_crear_libros; Aparece el nombre, propietario, tipo y fecha de creacin. Necesitamos un procedimiento almacenado que muestre los libros de los cuales hay menos de 10. En primer lugar, lo eliminamos si existe: if object_id('pa_libros_limite_stock') is not null drop procedure pa_libros_limite_stock; Creamos el procedimiento: create proc pa_libros_limite_stock as select *from libros where cantidad <=10; Ejecutamos el procedimiento almacenado del sistema "sp_help" junto al nombre del procedimiento creado recientemente para verificar que existe: sp_help pa_libros_limite_stock; Aparece el nombre, propietario, tipo y fecha de creacin. Lo ejecutamos: exec pa_libros_limite_stock; Modificamos algn registro y volvemos a ejecutar el procedimiento: update libros set cantidad=2 where codigo=4; exec pa_libros_limite_stock; Note que el resultado del procedimiento ha cambiado porque los datos han cambiado.

PROCEDIMIENTOS ALMACENADOS EJERCICIO 2


Primer problema: Una empresa almacena los datos de sus empleados en una tabla llamada "empleados". 1- Eliminamos la tabla, si existe y la creamos: if object_id('empleados') is not null drop table empleados; create table empleados( documento char(8), nombre varchar(20), apellido varchar(20), sueldo decimal(6,2), cantidadhijos tinyint, seccion varchar(20), primary key(documento) ); 2- Ingrese algunos registros: insert into empleados values('22222222','Juan','Perez',300,2,'Contaduria'); insert into empleados values('22333333','Luis','Lopez',300,0,'Contaduria'); insert into empleados values ('22444444','Marta','Perez',500,1,'Sistemas'); insert into empleados values('22555555','Susana','Garcia',400,2,'Secretaria'); insert into empleados values('22666666','Jose Maria','Morales',400,3,'Secretaria'); 3- Elimine el procedimiento llamado "pa_empleados_sueldo" si existe: if object_id('pa_empleados_sueldo') is not null drop procedure pa_empleados_sueldo; 4- Cree un procedimiento almacenado llamado "pa_empleados_sueldo" que seleccione los nombres, apellidos y sueldos de los empleados. 5- Ejecute el procedimiento creado anteriormente. 6- Elimine el procedimiento llamado "pa_empleados_hijos" si existe: if object_id('pa_empleados_hijos') is not null drop procedure pa_empleados_hijos; 7- Cree un procedimiento almacenado llamado "pa_empleados_hijos" que seleccione los nombres, apellidos y cantidad de hijos de los empleados con hijos. 8- Ejecute el procedimiento creado anteriormente. 9- Actualice la cantidad de hijos de algn empleado sin hijos y vuelva a ejecutar el procedimiento para verificar que ahora si aparece en la lista.

PROCEDIMIENTOS ALMACENADOS EJERCICIO 3 PROBLEMA


Vamos a crear un procedimiento almacenado que contenga las siguientes instrucciones: - eliminacin de la tabla "libros" si existe; - creacin de la tabla "libros" con: codigo, titulo, autor, editorial, precio, cantidad; - ingresode algunos registros. En primer lugar, debemos eliminarlo, si existe (no hemos aprendido an a eliminar procedimientos almacenados, en prximos captulos lo veremos): if object_id('pa_crear_libros') is not null drop procedure pa_crear_libros; Creamos el procedimiento: create procedure pa_crear_libros as if object_id('libros')is not null drop table libros create table libros( codigo int identity, titulo varchar(40), autor varchar(30), editorial varchar(20), precio decimal(5,2), cantidad smallint, primary key(codigo) ) insert into libros values('Uno','Richard Bach','Planeta',15,5) insert into libros values('Ilusiones','Richard Bach','Planeta',18,50) insert into libros values('El aleph','Borges','Emece',25,9) insert into libros values('Aprenda PHP','Mario Molina','Nuevo siglo',45,100) insert into libros values('Matematica estas ahi','Paenza','Nuevo siglo',12,50) insert into libros values('Java en 10 minutos','Mario Molina','Paidos',35,300); Disponemos un punto y coma (;) en la ltima instruccin del procedimiento almacenado. Ejecutamos el procedimiento: exec pa_crear_libros; Veamos si ha creado la tabla: select *from libros; Ejecutamos el procedimiento almacenado del sistema "sp_help" y el nombre del procedimiento almacenado para verificar que existe el procedimiento creado recientemente: sp_help pa_crear_libros;

Aparece el nombre, propietario, tipo y fecha de creacin. Necesitamos un procedimiento almacenado que muestre los libros de los cuales hay menos de 10. En primer lugar, lo eliminamos si existe: if object_id('pa_libros_limite_stock') is not null drop procedure pa_libros_limite_stock; Creamos el procedimiento: create proc pa_libros_limite_stock as select *from libros where cantidad <=10; Ejecutamos el procedimiento almacenado del sistema "sp_help" junto al nombre del procedimiento creado recientemente para verificar que existe: sp_help pa_libros_limite_stock; Aparece el nombre, propietario, tipo y fecha de creacin. Lo ejecutamos: exec pa_libros_limite_stock; Modificamos algn registro y volvemos a ejecutar el procedimiento: update libros set cantidad=2 where codigo=4; exec pa_libros_limite_stock; Note que el resultado del procedimiento ha cambiado porque los datos han cambiado.

Você também pode gostar