是否可以将以下光标写入 CTE?当前运行需要很长时间。
这是我的代码:
if @ReportSource = 'TAB'
BEGIN
DECLARE yr_cursor CURSOR
FOR
SELECT YEAR, RouteNum, RampInfo, BeginMeasure, EndMeasure, OriginalRoute, Description, CountyDesc, Incidents from #RptParms
OPEN yr_cursor;
FETCH NEXT FROM yr_cursor INTO @Year, @RouteNum, @RampInfo, @BeginMeasure, @EndMeasure, @OriginalRoute, @Description, @CountyDesc, @Incidents;
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @sql_str_fred = N'SELECT route_number, beg_measure AS MILELOG, AADT_TOTAL AS VMT, end_measure, RCLINK,YEAR
FROM VW_FRED_AADT_HIST
WHERE route_number = '''+ @RouteNum + '''
and YEAR = '''+ @Year + '''
and FIPS_AND_COUNTY Like ' + '''%' + @CountyDesc + '''
and beg_measure BETWEEN '+ cast(@BeginMeasure as varchar(8)) + ' and ' + cast(@EndMeasure as varchar(8)) + ''
SELECT @sql_str_fred = N' SELECT * from OPENQUERY(EDWGEARS, ''' + REPLACE(@sql_str_fred, '''', '''''') + ''')'
INSERT #freddata (ROUTE_NBR ,
MILELOG ,
VMT ,
END_MEASURE ,
RCLINK ,
YEAR )
EXEC sp_ExecuteSQL @sql_str_fred
FETCH NEXT FROM yr_cursor INTO @Year, @RouteNum, @RampInfo, @BeginMeasure, @EndMeasure, @OriginalRoute, @Description, @CountyDesc, @Incidents;
END
CLOSE yr_cursor
DEALLOCATE yr_cursor
END;