0

嗨,我有一个程序,它根据我通过的年份使用表名。如何在 sproc 中使用它?

例如:tables_2000, tables_2001,...

4

1 回答 1

0

只是要把它扔出去以帮助解决糟糕的模式设计。

创建一个视图,然后根据年份在视图上执行 where 子句

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 具有相同的架构。

您可能可以使用动态 sql 更有效地执行此操作,但您尚未在标签或问题中指定您的 sql 供应商。

于 2012-04-06T06:49:18.907 回答