代码之家  ›  专栏  ›  技术社区  ›  Leopard

ZF2 MYSQL事件管理器自定义查询

  •  0
  • Leopard  · 技术社区  · 9 年前

    我试图在MySQL事件管理器中保存一个事件,包括两个部分,如下所示。

    我可以通过PHPMyAdmin成功添加它,但使用ZF2 TAblegateway没有乐趣。。

    $this->tableGateway->getAdapter()->driver->getConnection()>execute($eventSql);
    

    $eventSql=

    "DELIMITER |
    
        CREATE EVENT slacheckevent9
        ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 2 MINUTE
        DO
        BEGIN
    
        UPDATE sla AS T1,
        (SELECT eventdata FROM eventdata WHERE eventname = 'CUSTOMER 
        CONTACTED' AND instructionid=3) AS T2
        SET T1.actualtime=T2.eventdata WHERE T1.id = 9;
    
        UPDATE sla
        SET slasuccess= CASE
        WHEN actualtime <= duetime THEN true
        ELSE slasuccess
        END
        WHERE id = 9
        ;
    
    
    
        END |
    
        DELIMITER ;";
    
    1 回复  |  直到 9 年前
        1
  •  0
  •   B.Asselin    9 年前

    $eventSql = "
        CREATE EVENT slacheckevent9
        ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 2 MINUTE
        DO
        BEGIN
    
        UPDATE sla AS T1,
        (SELECT eventdata FROM eventdata WHERE eventname = 'CUSTOMER 
        CONTACTED' AND instructionid=3) AS T2
        SET T1.actualtime=T2.eventdata WHERE T1.id = 9;
    
        UPDATE sla
        SET slasuccess= CASE
        WHEN actualtime <= duetime THEN true
        ELSE slasuccess
        END
        WHERE id = 9
        ;
    
    
    
        END
        ";
    $this->tableGateway->getAdapter()->query($eventSql, \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);