题目的要求是:写三个储存过程extract data from oltp数据库的表 into temporary tables in oltp数据库;再用mysqldump dump这些temporary tables into flat files.
为什么要写三个储存过程呢?我知道mysqldump是不能访问到temporary tables的,如果我用储存过程建个普通的表,等dump完了再把这个表drop掉,不是只要2个储存过程吗?
//CREATE PROCEDURE procedure1()
BEGIN
  create table tmp1 select * from oltp.product;  
END//执行后再mysqldump//CREATE PROCEDURE procedure2()
BEGIN
  drop table tmp1;
END//难道是我理解错了要求?

解决方案 »

  1.   

    估计只是个题目。并不是什么实际应用。所以照做就是了。否则直接mysqldum不就行了。一步就完成
      

  2.   

    SELECT CONNECTION_ID();临时表一般用上连接的ID来做表名,这样在DROP表的时候不会影响其他的连接。建一个真实表,就你那样搞定了。