【发布时间】:2022-01-12 01:33:24
【问题描述】:
我有一张包含 12 个条件(月)的表。我需要为 select 语句生成 12 个输出(表),其中唯一改变的是一个条件(月)。
例子:
SELECT * FROM table WHERE month = 01;
SELECT * FROM table WHERE month = 02;
SELECT * FROM table WHERE month = 03;
等等
实际上,代码又大又粗,我不想为了改变一个条件而多次复制粘贴。
有没有办法编写一个语句来根据变化的条件产生不同的输出?
对我来说这看起来很基本,但我找不到答案。
【问题讨论】:
-
T-SQL 和 PL/SQL 是完全不同的方言,由完全不同的 RDBMS(分别为 SQL Server 和 Oracle)使用。请只标记您真正使用的内容。
-
为什么不只使用参数化查询,例如使用存储过程..?然后你可以调用同一个查询 12 次,改变参数就可以了。
-
我知道这听起来很奇怪,但是我分别使用了两个 RDBMS,这就是为什么我对两者都问了同样的问题。我正在考虑使用 SP,但我希望有一种方法可以以某种方式循环选择语句,因为有时我需要更改参数不止 12 次span>
标签: sql dynamic-sql