我有一个包含 2000 多行代码的存储过程。我需要from clause
根据条件更改表名。两个表中的列名将保持不变。
例如:-
Declare @condition char(1)
set @condition=(Select close_flg from log
where last_run_dt >=
(Select cur_dt from dt)
)
--If @condition is 'A' then below sql will execute
Select a.columnA,
Case
when @condition='A' then 'D'
Else 'M'
END,
b.ColumnC
from TableA as a
inner join TableB as b
on a.Column=b.Column
现在如果@condition 是'B',那么我需要将sql更改为(只有内部连接不同,其余选择查询中的所有列都相同)
Select
-- the same columns as above
from TableC as c
inner join TableD as d
on c.Column=d.Column
我想让我的 SQL 通用以减少重复代码。是否有可能这样做。
谢谢