我想知道是否可以创建一个SQL函数来自动更新我的View并在我的数据库中添加新表。
我的数据库由多个表(相同的数据结构)组成,并命名为follow" MM_DD",现在我想创建一个加入所有这些数据的VIEW(非常简单,请参阅下面的查询)但是我希望自动化这个过程,所以每次添加新表时,视图都会更新。
CREATE OR REPLACE VIEW `viewTable` AS
select *,
md5(CONCAT(`columnA`,`columnB`)) AS myPK_id
from `05_06`
union all
select *,
md5(CONCAT(`columnA`,`columnB`)) AS myPK_id
from `05_08`
ect...
我现在正在做的是每次添加表时都使用PHP。它循环遍历表并创建/更新视图。
select * from information_schema.tables WHERE table_name LIKE '%05%'
现在我有一个表名数组 - >创建我的查询字符串 - >替换视图......
这可以在SQL中执行此操作吗? 如果是这样,那么正确的方法是什么?
答案 0 :(得分:0)
编写存储过程以重建视图。您需要使用MySQL内部调用的内容和#34;准备好的语句"所以你可以使用字符串操作。
您仍然会使用SELECT ... FROM information_schema.tables
查询来驱动此存储过程。
一旦你开始工作,你可以将它嵌入到mySQL事件中,并安排自动运行它。例如,你可以在深夜的同一时间运行它。
或者,您可以在创建其中一个表后立即调用存储过程。