-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$CREATE DEFINER=`root`@`192.168.0.90` PROCEDURE `t`(p_n int)
BEGIN        select now() as t1;
    insert into t1(col1,c2) select c1,c2 from tb2;
    commit;
    select now() as t2;    call test.test1(12);
    
    select now() as t3;    -- 这里如何在存储过程里面获取t2与t1之间的时间差,并转换成秒啊?
        
    -- 这里如何在存储过程里面获取t2与t3之间的时间差,并转换成秒啊?    
    
END

解决方案 »

  1.   

    DELIMITER $$CREATE DEFINER=`root`@`192.168.0.90` PROCEDURE `t`(p_n int)
    BEGIN    define v_t1 as bigint;
    define v_t2 as bigint;
    define v_t3 as bigint;
       select now() as t1;
       set v_t1=UNIX_TIMESTAMP();
       
       insert into t1(col1,c2) select c1,c2 from tb2;
       commit;
       select now() as t2;
       set v_t2=UNIX_TIMESTAMP();   call test.test1(12);
      
       select now() as t3;
       set v_t3=UNIX_TIMESTAMP();
       
          -- 这里如何在存储过程里面获取t2与t1之间的时间差,并转换成秒啊?
       select v_t2-v_t1;
          
       -- 这里如何在存储过程里面获取t2与t3之间的时间差,并转换成秒啊?
       select v_t3-v_t1;  
      
    END$$