128 - Procedimientos almacenados (insertar) |
Trabajamos con la tabla "libros" de una librería.
Eliminamos la tabla si existe y la creamos nuevamente:
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), primary key(codigo) );
Ingresamos algunos registros:
insert into libros values ('Uno','Richard Bach','Planeta',15); insert into libros values ('Ilusiones','Richard Bach','Planeta',12); insert into libros values ('El aleph','Borges','Emece',25); insert into libros values ('Aprenda PHP','Mario Molina','Nuevo siglo',50); insert into libros values ('Matematica estas ahi','Paenza','Nuevo siglo',18); insert into libros values ('Puente al infinito','Richard Bach','Sudamericana',14); insert into libros values ('Antología','J. L. Borges','Paidos',24); insert into libros values ('Java en 10 minutos','Mario Molina','Siglo XXI',45); insert into libros values ('Antología','Borges','Planeta',34);
Eliminamos la tabla "ofertas" si existe y la creamos con los mismos campos de la tabla "libros":
if object_id('ofertas') is not null drop table ofertas; create table ofertas( titulo varchar(40), autor varchar(30), editorial varchar(20), precio decimal(5,2) );
Eliminamos el procedimiento llamado "pa_ofertas", si existe:
if object_id('pa_ofertas') is not null drop procedure pa_ofertas;
Creamos el procedimiento para que seleccione los libros cuyo precio no supera los 30 pesos:
create proc pa_ofertas as select titulo,autor,editorial,precio from libros where precio<=30;
Vamos a ingresar en la tabla "ofertas" el resultado devuelto por el procedimiento almacenado "pa_ofertas":
insert into ofertas exec pa_ofertas;
Veamos el contenido de "ofertas":
select *from ofertas;
Eliminamos la tabla "libros_por_editorial" si existe y luego creamos la tabla con dos campos: nombre de editorial y cantidad:
if object_id('libros_por_editorial') is not null drop table libros_por_editorial; create table libros_por_editorial( editorial varchar(20), cantidad int );
Eliminamos el procedimiento llamado "pa_libros_por_editorial", si existe:
if object_id('pa_libros_por_editorial') is not null drop procedure pa_libros_por_editorial;
Creamos el procedimiento para que cuente la cantidad de libros de cada editorial:
create proc pa_libros_por_editorial as select editorial,count(*) from libros group by editorial;
Vamos a ingresar en la tabla "libros_por_editorial" el resultado devuelto por el procedimiento almacenado "pa_libros_por_editorial":
insert into libros_por_editorial exec pa_libros_por_editorial;
Veamos el contenido de la tabla "libros_por_editorial":
select *from libros_por_editorial;