Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2012, 12:56
AdvKael
 
Fecha de Ingreso: febrero-2012
Mensajes: 136
Antigüedad: 12 años, 2 meses
Puntos: 8
Trigger no me permite Borrar todas las filas

Buenos dias estoy tratando de hacer un trigger que me permita copiar todas las filas de una tabla a otra cuando se cumpla una condicion ...

El problema radica cuando una vez que ya las copie .. quiero borrar lo que ya copie .. pero no me permite no se xq ....

Luego de borrar quiero poblar la tabla con algunos datos...

No se si me hechan una manito muchas gracias ....

Código:
 -- Trigger DDL Statements
DELIMITER $$

USE `ncpp`$$

CREATE
DEFINER=`root`@`localhost`
TRIGGER `ncpp`.`Ins_temp_t_`
AFTER UPDATE ON `ncpp`.`temp_asigdefpub`
FOR EACH ROW
BEGIN
if(SELECT COUNT(*) FROM m_defpub )=(SELECT COUNT(*) FROM temp_asigdefpub WHERE b_asigdefpubEst=true) THEN

    INSERT INTO `ncpp`.`t_asigdefpub`
    (
    idasigdefpub,
    iddefpub,
    d_asigdepubFec,
    c_asigdefpubUsu,
    c_asigdefpubMaq,
    t_asigdefpubIni,
    t_asigdefpubFin,
    b_asigdefpubEst
    )

    select idasigdefpub,iddefpub,
    d_asigdepubFec,
    c_asigdefpubUsu,
    c_asigdefpubMaq,
    t_asigdefpubIni,
    t_asigdefpubFin,
    b_asigdefpubEst FROM `ncpp`.`temp_asigdefpub`;
    
    DELETE FROM temp_asigdefpub where iddefpub!=0;
    
    INSERT INTO temp_asigdefpub
    (
        iddefpub,
        b_asigdefpubEst
    )
    
    SELECT iddefpub,false FROM `ncpp`.`m_defpub`; 
     
END IF;
END
$$