title: Mysql Trigger Loop for query result with many rows
body: <p>hi i have a database with many tables and foreign keys like this</p>
  
  <pre><code>CREATE TABLE IF NOT EXISTS `articulos` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `nombre` varchar(63) NOT NULL,
    `contenido` text NOT NULL,
    `normas_id` int(11) NOT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=138 ;
  
  CREATE TABLE IF NOT EXISTS `aspectosambientales` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `nombre` varchar(63) NOT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=28 ;
  
  CREATE TABLE IF NOT EXISTS `aspectosambientales_articulos` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `aspectosambientales_id` int(11) NOT NULL,
    `articulos_id` int(11) NOT NULL,
    PRIMARY KEY (`id`),
    KEY `fk_aspaspectosambientales1`      (`aspectosambientales_id`),
    KEY `fk_aspee` (`articulos_id`) 
  ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 UTO_INCREMENT=225 ;
  
  CREATE TABLE IF NOT EXISTS `empresas` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `razonsocial` varchar(127) DEFAULT NULL,
    `nit` varchar(63) DEFAULT NULL,
    `direccion` varchar(127) DEFAULT NULL,
    `telefono` varchar(15) DEFAULT NULL,
    `web` varchar(63) DEFAULT NULL,
    `auth_user_id` int(11) NOT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
  
  CREATE TABLE IF NOT EXISTS `articulos_empresas` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `empresas_id` int(11) NOT NULL,
    `articulo_id` int(11) NOT NULL,
    `acciones` text,
    `responsable` varchar(255) DEFAULT NULL,
    `plazo` date DEFAULT NULL,
    `cumplido` tinyint(1) DEFAULT NULL,
    PRIMARY KEY (`id`),
    KEY `fk_normas_empresas_empresas1` (`empresas_id`),
    KEY `fk_normas_empresas_normas1` (`normas_id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
  </code></pre>
  
  <p>and i need to create a trigger to fill the 'articulos_empresas' after insert in 'empresas' for all rows in 'articulos' that match with 'aspectosambientals' that the new 'empresas' selected.</p>
  
  <p>I get all 'articulos' with this query</p>
  
  <pre><code>SELECT articulos_id FROM aspectosambientales_articulos 
      WHERE  aspectosambientales_id = ID 
          -- ID is the aspectosambientales_id selected when the 'empresas' row is created
          --  maybe something like NEW.aspectosambientales_id
  </code></pre>
  
  <p>but i dont know how create a loop like ' for loop' in trigger for every result in the query</p>
  
  <p>some like this:</p>
  
  <pre><code>CREATE TRIGGER 'filltableae' AFTER INSERT ON 'empresas' 
  FOR EACH ROW
  BEGIN 
  DECLARE arrayresult = (SELECT articulos_id FROM aspectosambientales_articulos 
      WHERE  aspectosambientales_id = NEW.aspectosambientales_id)
  --- here is when i have to do the loop for all the results
  --- for ids in arrayresults
  ---  insert into articulos_empresas ('',NEW.id, ids, '', '' ,'','')
  --- endfor
  END
  </code></pre>
  
  <p>thanks!!!</p>