Quiero que insertando el genero de un libro me de los datos del titulo el autor(nombre y apellido), año de publicacion, nacionalidad del autor, y que estos datos me los Inserte en una tabla que tengo para mostrar los datos.
Esta es la relacion de las tablas:
Libros (id_libro, titulo, apubli, id_genero)
autor (id_autor, nombre apellido, nacionalidad)
libroautor (id_libro, id_autor)
genero (id_genero, nombre)
cursorGenero(titulo, nombre y apellido autor, apubli, nacionalidad)
y ese es el procedimiento que he creado.
Código SQL:
Ver original
CREATE PROCEDURE buscarPorGenero (p_genero VARCHAR(30)) BEGIN DECLARE curGenero CURSOR FOR SELECT Libros.titulo, autor.nombre, autor.apellido, Libros.apubli, autor.nacionalidad FROM (Libros INNER JOIN libroautor ON Libros.id_libro=libroautor.id_libro) INNER JOIN autor ON libroautor.id_autor=autor.id_autor WHERE Libros.id_genero = (SELECT id_genero FROM genero WHERE nombre=p_genero); DECLARE v_titulo VARCHAR(150) DECLARE v_nombre VARCHAR(60) DECLARE v_apellido VARCHAR(60); DECLARE v_apubli INT(4); DECLARE v_nacionalidad VARCHAR(60); OPEN curGenero; curGenero_loop: LOOP FETCH curGenero INTO v_titulo, v_nombre, v_apellido, v_apubli, v_nacionalidad; INSERT INTO cursorGenero VALUES (v_nombre, v_apellido, v_apubli, v_nacionalidad); END LOOP curGenero_loop; SELECT * FROM cursorGenero; CLOSE curGenero; END buscarPorGenero;
Cualquier ayuda la agradecere enormemente ya que estoy bastante apurado con este tema. Un saludo y Muchas gracias.