回答
剛要扔了這一點,在那裏幫助解決不好的架構設計。
創建一個視圖,然後根據今年
SELECT 2000 AS Year, *
FROM tables_2000
UNION
SELECT 2001 AS Year, *
FROM tables_2001
UNION
SELECT 2002 AS Year, *
FROM tables_2002
UNION
...etc
這是假設所有tables_20XX具有相同的架構做一個where子句的視圖。
您可能可以更有效地使用動態sql來做到這一點,但是您並未在標籤或問題中指定您的sql供應商。
這個模式可能被選擇來加速一些事情。這樣的觀點會產生相反的效果。如果可能的話,只創建一個表格,或者爲當前年份創建一個表格,併爲整個歷史創建一個表格。歷史記錄表將會變慢,但包含所有數據。如果您需要更少的歷史記錄,當年的表格速度更快,並且可以(可能)在大多數情況下使用。 – GolezTrol 2012-04-06 06:50:31
在我看來,設計依然不好。年度指數幾乎可以完全解決這些問題。 – 2012-04-06 06:52:52
即使年份與歷史記錄ID之間的關係表也適用。每年爲多個表格創建簡直是糟糕的設計。有時開發人員必須處理這個問題。我知道我在一家公司工作,很多初始數據庫都是由工程師設計的,而不知道正確的數據庫設計或編程。隨時都會發生,你只需要忍受它,並在最初的設計中解決問題。 – 2012-04-06 07:24:47
- 1. 動態表存儲過程的名稱
- 2. 動態列名在存儲過程
- 3. 在存儲過程中動態添加表名
- 4. 動態重命名存儲過程
- 5. 如何在存儲過程中動態指定表格
- 6. 如何動態地決定在SQL Server存儲過程加入哪些表
- 7. SQL存儲過程中的動態表名稱和參數
- 8. 存儲過程函數中的動態表名
- 9. 在存儲過程中動態更新
- 10. 動態表存儲名稱
- 11. 動態存儲過程結果到表
- 12. 在存儲過程中動態設置數據庫名稱
- 13. SQL Server:插入帶有動態表名稱的存儲過程
- 14. SQL Server存儲過程動態選擇表名
- 15. MySQL存儲過程動態更改表的名稱
- 16. 數據庫表的動態名稱 - 存儲過程
- 17. 動態定義變量類型在存儲過程中在DB2
- 18. 存儲過程中的動態光標
- 19. 存儲過程中的動態光標
- 20. 存儲過程中的動態參數?
- 21. Oracle中的動態存儲過程
- 22. 存儲過程中的動態sql
- 23. 存儲過程動態/通用其中
- 24. 存儲過程從動態sql創建存儲過程
- 25. 從另一個存儲過程動態調用存儲過程
- 26. 如何在存儲過程中動態指定列
- 27. 動態確定列在存儲過程中
- 28. 在僅用表名稱的mysql中創建動態存儲過程
- 29. 動態查詢在存儲過程中創建的臨時表
- 30. 在存儲過程中使用動態SQL臨時表
你使用的是什麼風格的SQL?動態SQL可以被證明是一個答案,但它不同於SQL提供者。你也應該總是在你的問題中加上標籤。 – 2012-04-06 06:39:58
這是一個最不幸的模式。大概每張桌子都有相同的結構? – wallyk 2012-04-06 06:40:45
請詳細說明您的問題。 – SMK 2012-04-06 06:41:41