Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2011, 16:06
LOD_Fredy
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años, 9 meses
Puntos: 3
obtener el ultimo registro y guardarlo en variable

Hola a todos.

El contexto es el siguiente.

necesito generar un procedimiento almacenado

tengo dos tablas, articulos y articulosenml

articulos tiene entre sus campos uno que se llama estaenml que es booleano y que indica que ese articulo esta en mercadolibre

articulosenml tiene entre sus campos el id del articulo que tenga su campo estanenml como true

entonces, lo que necesito es saber como obtengo y guardo dentro del procedimiento el id del ultimo articulo registrado para poder incluirlo en la consulta que inserta en la tabla articulosenml


Aqui tengo cual es mi idea de como hacerlo pero no se como obtener yguardar el id del articulo (al parecer con un select into no funciona)


Código MySQL:
Ver original
  1. DELIMITER $$   
  2. CREATE PROCEDURE REGISTRO_ARTICULO(IN al_id INT, IN ar_nombre VARCHAR(50), IN ar_descripcion VARCHAR(100), ar_especificaciones VARCHAR(100), ar_medidas VARCHAR(50), ar_peso DOUBLE, ar_foto VARCHAR(100), ar_cantreal INT, ar_cantpag INT, ar_costoreal DOUBLE, ar_costopromedio DOUBLE, ar_iva DOUBLE, ar_precio DOUBLE, ar_estado BOOL, ar_eskit BOOL, ar_espromocional BOOL, ar_estaenml BOOL)
  3.     INSERT INTO articulos VALUES (NULL, ar_nombre, ar_descripcion,ar_especificaciones,ar_medidas,ar_peso, ar_foto,ar_cantreal,ar_cantpag,ar_costoreal, ar_costopromedio,ar_iva,ar_precio,NOW(),ar_estado, ar_eskit,ar_espromocional,ar_estaenml);
  4.     IF ar_estaenml <> 0 THEN    
  5.         SELECT ar_id into id FROM articulos where ar_id = (SELECT MAX(ar_id) FROM articulos);
  6.         INSERT INTO mercado_libre VALUES (NULL, id, null, null);
  7.     END IF;
  8. END$$