'OVER 절'문에 사용 된 행 수에 대한 변수를 사용하고 싶습니다. 지금까지는 SQL 문을 문자열로 생성 한 다음 실행 만하면됩니다.SQL Server에서 OVER 절에 변수를 사용하는 방법
최종 목적은 SSIS에서도 사용하는 반면 동적 쿼리의 필드는 인식하지 못하는 반면 작동하지 않습니다.
무엇 작동하는 것입니다 :
select
[GUID_Fund], [Date], [Close],
avg([Close]) over (order by [GUID_Fund], [Date] rows 7 preceding) as MA_Low
from fundrates
group by [GUID_Fund], [Date], [Close]
order by [GUID_Fund] asc, [Date] desc;
수 7 필요 내가 이런 일을하려고 그래서 변수로 :이 @var_MA_Low에서 구문 오류가 발생
declare @var_MA_Low as int;
select distinct @var_MA_Low = [Value1]
from Variables
where [Name]='MA_Low';
select
[GUID_Fund], [Date], [Close],
avg([Close]) over (order by [GUID_Fund], [Date] rows @var_MA_Low preceding) as MA_Low
from fundrates
group by [GUID_Fund], [Date], [Close]
order by [GUID_Fund] asc, [Date] desc;
그냥 '행'이후. 같은 문은 위와 같이하지만, 내가 SSIS에 소스로 사용할 수있는 것보다 어떤 작품
:
declare @MA as nvarchar(max);
declare @var_MA_Low as nvarchar(max);
select distinct @var_MA_Low = [Value1] from Variables where [Name]='MA_Low';
set @MA = N'select [GUID_Fund], [Date], [Close], avg([Close])
over (order by [GUID_Fund], [Date] rows '[email protected]_MA_Low+' preceding) as MA_Low
from fundrates
group by [GUID_Fund], [Date], [Close] order by [GUID_Fund] asc, [Date] desc;'
execute sp_executesql @MA;
아무도 어떻게 두 번째 옵션에 변수로 행 수를 통과하는 생각?
아직 가능성을 조사하지 않았습니다. 누군가가 SSIS에서 수행 할 수있는 T-SQL으로 수행 할 수있는 거의 모든 작업에 대해 언급하면서 SSIS 가능성을 조사하고 있습니다. 그래서 나는 가능한 한 SP의 사용을 피하려고 노력하고있다. – xSter
나는 가능한 한 대안으로 SP를 시도했지만, 동일한 도전 과제가 남아 있습니다. SSIS 원본은 출력에 매핑 할 열을 검색 할 수 없습니다. – xSter