Insertar y actualizar en un cursor en SQL Server
Tengo una tabla que se muestra a continuación
DateRange
10/1
11/1
12/1
stoy recorriendo esta tabla usando el cursor e intentando llenar una tabla temporal
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
Esto me da un resultado como el siguiente
Code Data
SL Payroll 22
SL Payroll 33
SL Payroll 43
Estoy buscando modificar la tabla, así que obtengo solo una fila como
Code Data1 Data2 Data3
SL Payroll 22 33 43
¿Puede alguien decirme cuál sería un buen enfoque para insertar primero los datos dentro de una tabla en el primer bucle y luego actualizarlo? Puedo poner una variable para contar la iteración del bucle y luego escribir inserción y actualización por separado, pero me preguntaba si hay una mejor manera.
Gracia