1
코드가 2000 개가 넘는 저장 프로 시저가 있습니다. 조건에 따라 from clause
에서 테이블 이름을 변경해야합니다. 두 테이블 모두에서 열 이름이 동일하게 유지됩니다. 예를 들어조건에 따라 절에서 변경
: -
@condition는 'B'다음 내가 으로 SQL을 변경해야하는 경우 지금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
(만 내부 조인 다른 나머지는 선택 쿼리의 모든 열이 동일하다)
Select
-- the same columns as above
from TableC as c
inner join TableD as d
on c.Column=d.Column
중복 코드를 줄이기 위해 SQL을 일반으로 만들고 싶습니다. 그렇게 할 수도 있습니다.
감사
몇 가지 선택 쿼리가 있기 때문에 나는 모든 @sqlCommand를 연결 한 다음 Exec (@sqlCommand)를 사용할 수 있습니까? – praveen
예, 코스를 벗어났습니다. detail.http : //www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/ – SMK
에 대한 링크를보십시오. 많은 도움을주었습니다. – praveen