2016-11-07 67 views
-1

我有6個數據庫表,它們一起呈現項目和進程分配給每個項目。用戶也被分配到每個進程。這裏是表格:MySQL - 在每週更新觸發器複製表

User 
Project 
Process 
Proc_leader 
Proc_checker 
Proc_staff 

我想要的是使系統複製和存儲在每個星期日數據庫中的表。某種觸發器會在每個星期日複製所有數據,然後允許用戶根據日期查看保存的記錄。例如:

我有1個項目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,也沒有足夠的知識把它付諸實踐。所以我正在尋找任何幫助。任何想法我怎麼能做到這一點?謝謝

+1

[tag:mysql]和[tag:sql-server]是兩個完全不同的產品。 *兩個*標籤應該適用於單個問題很少見。你正在使用哪種產品? –

+0

@Damien_The_Unbeliever我使用mysql,感謝您的通知。我刪除了sql-server標籤 –

+0

但是在標題 – Strawberry

回答

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作業。

1

觸發器不會幫你在這,你需要的是SQL Agent Job

您需要爲每個星期日安排工作。

在此之前,創建查詢到您的表複製到一個新的表像下面

select * into NewTable from ExistingTable 

當您需要新的表名與日期的動態,即,你可能需要創建dynamic sql

+0

中留下了它。不幸的是,OP已經澄清說這是一個[tag:mysql]問題。 –