所以我创建了一个基本上运行DML语句的报告,该语句是基于多个易失性表构建的。我构建它的方式是我的每个临时表基本上都是从前面得到的。例如,在我的第一个表格中,我定义了数据集'我的其他临时表定义了我的" exclusions",然后我的最后一个临时表将它全部组合起来,然后在最终查询中执行它。
我希望自动化此报告以每天提取数据,但我不确定是否为其创建宏或sp。任何一种方法的更大问题是,我怎么能够有效地利用每个临时表?我已经考虑将所有表格合并到一个GIANT(1000+行)DML语句中,但是SURELY,肯定会有更好,更简单的选项。
非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
或者,您可以使用Common Table Expression (CTE)
代替临时表:
WITH cte1 AS
(
SELECT *
FROM table_1
WHERE
), cte2 AS
(
SELECT...
FROM cte2
JOIN ...
WHERE
)
...
SELECT *
FROM cte_n;
一个CTE可以依赖于前一个CTE,也可以使用递归并将结果合并到最终查询中。