SSIS не вставляет более одной строки - PullRequest
0 голосов
/ 14 октября 2019

Я использую задачу «Выполнить SQL» для обновления временного измерения. Я использую этот код

declare @i int=isnull((select max(id) from DIM_DATE)+1,1)
declare @Date Date=isnull((select [date] from dim_date where ID=@i-1),(SELECT DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) , 0))) 
declare @Count int=((isnull((select max(id) from DIM_DATE)+1,0)) )+(select day(eomonth((select DATEADD(day,1,@Date)))))
if((select count(*) from DIM_DATE)=0)
begin
insert into DIM_DATE values( @i,@Date,(select year(@Date)) ,(select datepart(Quarter,@Date)) ,(select Month(@Date)),(select format( @Date,'MMMM')),(select day(@Date)),(select datepart(weekday,@Date)),(SELECT DATENAME(dw,@Date)),
(select year(@Date)),(select datepart(Quarter,(@Date))))
End
while(@i<@Count)
begin
insert into DIM_DATE values( @i ,(select dateadd(day,1,@Date)),(select year((select DATEADD(day,1,@Date))))
,(select datepart(Quarter,(select DATEADD(day,1,@Date)))),
(select Month(DATEADD(day,1,@Date))) ,(select format(dateadd(day,1, @Date),'MMMM')),
(select day(DATEADD(day,1,@Date))) ,(select datepart(weekday,@Date)) ,(SELECT DATENAME(dw,@Date)) ,
(select year((select DATEADD(day,1,@Date)))),(select datepart(Quarter,(select DATEADD(day,1,@Date)))))
set @Date=(select dateadd(day,1,@Date))
set @i+=1
End

Когда я пробую его на сервере sql, он работает, но в службах SSIS он вставляет только первую строку.

Это скриншот потока управления пакетом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...