Insira e atualize em um cursor no SQL Server
Tenho uma tabela mostrada abaixo
DateRange
10/1
11/1
12/1
Estou percorrendo esta tabela usando o cursor e tentando preencher uma tabela temporária
Create table #BidStatusCalculation1
(
Code nvarchar(max),
Data int
)
Declare @monthStart varchar(20)
DECLARE cur CURSOR FOR SELECT DateRange FROM @dateRange
OPEN cur
FETCH NEXT FROM cur INTO @monthStart
WHILE @@FETCH_STATUS = 0 BEGIN
Insert into #BidStatusCalculation1
select 'SL Payroll',Count(*) from DashboardData
where DataType = 'Bid'
and CONVERT(NVARCHAR, CreatedDate, 105) = convert(datetime,
(@monthStart+'/'+@RequestYear))
FETCH NEXT FROM cur INTO @monthStart
END
CLOSE cur
DEALLOCATE cur
Isso me dá um resultado como abaixo
Code Data
SL Payroll 22
SL Payroll 33
SL Payroll 43
Eu estou olhando para modificar a tabela, então eu recebo apenas uma linha como
Code Data1 Data2 Data3
SL Payroll 22 33 43
Pode alguém me dizer qual seria uma boa abordagem para inserir primeiro dados dentro de uma tabela no primeiro loop e depois atualizá-los. Posso colocar uma variável para contar a iteração do loop e, em seguida, escrever inserção e atualização separadas, mas fiquei imaginando se existe uma maneira melho
Obrigad