按日期删除表而不删除系统表的功能/程序

时间:2019-05-16 15:41:01

标签: mysql sql

如上面标题中所述,我试图编写一个sql函数以按日期删除表而不删除系统表。我在该消息下方放置了一个图像,以直观方式说明我的问题。任何帮助将不胜感激! 感谢您的时间! enter image description here

2 个答案:

答案 0 :(得分:0)

您可以通过查询--- title: "Bookdown" header-includes: - \usepackage{float} - \floatplacement{figure}{!htb} - \usepackage{algorithm} - \usepackage{algpseudocode} output: bookdown::gitbook: split_by: none bookdown::pdf_book: fig_caption: yes keep_tex: yes toc: no bookdown::word_document2: default site: bookdown::bookdown_site --- ```{r setup, include=FALSE, } knitr::opts_chunk$set(echo = TRUE) ``` Hello zero # First Chapter Hello one \begin{algorithm} \caption{My Algo} \begin{algorithmic}[1] \State Do this. \State Do that. \end{algorithmic} \end{algorithm} ```{r myalgo, echo=FALSE, eval = !knitr:::is_latex_output(), fig.cap="Must have text here. For cross-referencing to work."} knitr::include_graphics("myalgo.png") ``` Hello two. Check out this picture: \@ref(fig:myalgo) 来获得表列表。可以按架构对其进行过滤并创建时间。

<table><tr height="123"><td height="123">Test</td></tr></table>

由于提到“系统”表时似乎没有引用“ mysql”模式,因此您可能需要为上述查询设计一个table_name条件以排除这些表。

一旦获得这些结果,就可以使用过程代码动态创建查询以删除那些表。您无法通过一个查询动态删除这些表...但是可以修改此查询以为您生成查询:

<table><tr><td height="123">Test</td></tr></table>

答案 1 :(得分:0)

我正在研究此解决方案:

CREATE DEFINER = root @ localhost程序Delete_Tables() 开始 SET SESSION group_concat_max_len = 1000000;

SET @tables = NULL; SELECT GROUP_CONCAT('', table_schema, '', table_name, '')INTO @tables from information_schema.tables     WHERE table_schema ='testschema'AND CREATE_TIME> '19 / 05/2019';

案例     当ISNULL(@tables)然后         选择“检测到空值”作为验证;     其他         SET @tables = CONCAT('DROP TABLE',@tables);         选择@tables;         从@tables准备stmt1;         执行stmt1;         取消准备stmt1; 结束案例; 结束

感谢您的帮助!