CREATE
    /*[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]*/
    VIEW `card`.`order_view201101` 
    AS
SELECT * FROM `pt201201`
UNION ALL
SELECT * FROM `p201202`
 UNION ALL
SELECT * FROM `p201203`
也许p201203不存在,这样会出错。
不知道有什么办法能判断吗?或者直接能这样为所有以p开头的表union起来创建一个视图

解决方案 »

  1.   

    直接show tables like 'p%' 得到所有的表名,复制到EXCEL,然后利用EXCEL文本函数公式,生成 SELECT * FROM `pt201201` UNION ALL ,然后再构成 create view 语句执行即可。
      

  2.   

    select table_name from information_schema.tables where table_name like 'p%';
      

  3.   

    1楼:表中的数据一直在不断增长,肯定不能用execel啊
    我是想动态的创建 视图,2楼的这个还得写程序
      

  4.   

    这个没有办法。 你只能通过程序或者存储过程来实现这对这个VIEW的动态修改。这种表的设计会导致类似现象,在MYSQL中为什么不把它们设计成一张表呢? 如果担心查询效率,则可以使用MYSQL的分区表。
      

  5.   

    我们公司dba 说mysql分区表效率并不是很高。反而很低。故而没用。数据量大一张表怕抗不住。一年数据 会上5kw