我有6个数据库表,它们共同呈现项目和流程分配给每个项目。用户也被分配到每个进程。以下是表格:
User
Project
Process
Proc_leader
Proc_checker
Proc_staff
我想要的是每周日在数据库中进行系统复制和存储复制的表。某种触发器会在每个星期日复制所有数据,然后允许用户根据日期查看已保存的记录。例如:
我有一个项目有1个进程。并指派3名用户作为流程负责人,流程检查员和流程人员处理。
当涉及到星期日时,系统应复制表并创建名称为
的复制表User06/11/16
Project06/11/16
Process06/11/16
Proc_leader06/11/16
Proc_checker06/11/16
Proc_staff06/11/16
或类似的东西。然后用户应该能够按View History
按钮,系统将显示如下内容:
Show Records for 23/10/16
Show Records for 30/10/16
Show Records for 06/11/16
它应该显示该表中的数据。
我对sql没有那么有经验,并且没有足够的知识将其付诸实践。所以我正在寻求任何帮助。任何想法我怎样才能做到这一点?感谢
答案 0 :(得分:1)
触发器无法帮助您,您需要的是SQL Agent Job。
您需要安排每个星期天的工作。
在此之前,创建查询以将表格复制到新表格,如下所示
select * into NewTable from ExistingTable
由于您需要新的表格名称是动态的,即日期,您可能需要创建dynamic sql。
答案 1 :(得分:1)
你必须写一个cron作业。以下步骤
1 create table [like][1] master table ( Append date with name) .
2 Create sql for inserting record form master tables to New tables created at step 1 http://dev.mysql.com/doc/refman/5.7/en/insert-select.html.
根据您的要求安排cron作业。