Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2014, 16:46
MON___
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Crear función

Tengo problema con esta función, que intenta obtener el valor incrementado en un campo numérico. La función tiene dos argumentos: el nombre de la tabla que contiene el campo y el nombre del mismo; pero en el SELECT MAX no me reconoce el valor dado en estos argumentos.

Código MySQL:
Ver original
  1. DELIMITER //
  2. CREATE FUNCTION INCREMENTAR(tabla VARCHAR(20), campo VARCHAR(20) ) RETURNS INT
  3. DECLARE valor INT;
  4. SELECT MAX(campo) INTO valor FROM tabla;
  5. SET valor = IF(valor is null, 1, valor + 1);
  6. RETURN valor;
  7. END //
  8. DELIMITER ;
  9. select incrementar('mi_db.mi_tabla', 'mi_campo_numerico');
¿Podéis ayudarme?

Última edición por gnzsoloyo; 13/05/2014 a las 17:54