您可以使用一个table函数,返回在每个待识别表中获得的值作为结果(您可以按月份进行搜索)
我留下以下例子:
CREATE FUNCTION [dbo].[ufnHolidays]()
RETURNS @holidays TABLE
(
id int
)
AS
BEGIN
/* example data
CREATE TABLE #holiday_201802 (id int)
CREATE TABLE #holiday_201803 (id int)
CREATE TABLE #holiday_201804 (id int)
INSERT #holiday_201802 VALUES (1)
INSERT #holiday_201803 VALUES (2)
INSERT #holiday_201804 VALUES (3)
*/
IF OBJECT_ID('tempdb.dbo.#holiday_201802') IS NOT NULL
INSERT @holidays
SELECT id FROM #holiday_201802
IF OBJECT_ID('tempdb.dbo.#holiday_201803') IS NOT NULL
INSERT @holidays
SELECT id FROM #holiday_201803
IF OBJECT_ID('tempdb.dbo.#holiday_201804') IS NOT NULL
INSERT @holidays
SELECT id FROM #holiday_201804
RETURN;
END;
GO