Autor Tema: Problema Procedure Mysql  (Leído 2249 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KronZ

  • The newbie
  • *
  • Mensajes: 1
Problema Procedure Mysql
« : junio 22, 2014, 11:38:06 am »
Buenas compañeros, ¿Alguien me podría resolver este problemilla?

Tengo esta tabla:

Fotógrafo (dni, nombre, sueldo, teléfono)
Cámara (nserie, marca, modelo, precio, fecha_compra)
Fotografía (dni_fotógrafo, número, ancho, alto, resolución, tema, fecha)
Utiliza (dni_fotógrafo, nserie_cámara, fecha, incidencia)
SesiónFotos (fecha, dni_fotógrafo, lugar, importe)



Y necesito lo siguiente :

Mediante un procedimiento almacenado permitir renumerar todas las fotografías de un
fotógrafo de forma consecutiva (1, 2, 3 ...) Para ordenar las fotografías se tomará como criterio la
fecha. El número de la primera fotografía se pasará como parámetro (primerNum) al
procedimiento almacenado. En este caso se numerará primerNum, primerNum+1,
primerNum+2, ...

Por ahora solo pude sacar esto, pero no se si voy bien encaminado, soy un desaste en esto:

Código: [Seleccionar]
DELIMITER $$
DROP PROCEDURE IF EXIST ordenar $$
CREATE PROCEDURE ordenar (in pdni INT (9), prueba INT)

BEGIN
SELECT * FROM Fotografia ORDER BY fecha;

SELECT nombre FROM Fotografo where dni = pdni;



END;
$$
DELIMITER;



PD: Muchísimas gracias por adelantado.

« Última Modificación: junio 22, 2014, 11:40:29 am por KronZ »

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14585
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:Problema Procedure Mysql
« Respuesta #1 : junio 22, 2014, 07:20:55 pm »
antes de hacer el SP hace el query que hace lo que queres. despues ponelo como SP.
tambien lee un poco sobre la funcion propiedad de columna autoincrement
http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
« Última Modificación: junio 22, 2014, 07:23:41 pm por g00mba »

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re:Problema Procedure Mysql
« Respuesta #2 : junio 23, 2014, 10:43:49 am »
Mediante un procedimiento almacenado permitir renumerar todas las fotografías de un
fotógrafo de forma consecutiva (1, 2, 3 ...) Para ordenar las fotografías se tomará como criterio la
fecha. El número de la primera fotografía se pasará como parámetro (primerNum) al
procedimiento almacenado. En este caso se numerará primerNum, primerNum+1,
primerNum+2, ...

Código: [Seleccionar]
DELIMITER $$
DROP PROCEDURE IF EXIST ordenar $$
CREATE PROCEDURE ordenar (in pdni INT (9), prueba INT)

BEGIN
SELECT * FROM Fotografia ORDER BY fecha;

SELECT nombre FROM Fotografo where dni = pdni;

END;
$$
DELIMITER;

:thumbsup: que bien ya tenés tu primer SP  :yao_ming: esta muy ordenado y limpio...


así como los dedos de la mano, tenés varias formas de lograr lo que quieres...

para empezar puedes hacerlo acá:

antes de hacer el SP hace el query que hace lo que queres. despues ponelo como SP.
tambien lee un poco sobre la funcion propiedad de columna autoincrement
http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito