sql-server - 如何避免while循环
问题描述
我有一个查询,由于这个查询执行时间正在增加,并且需要时间在 SQL Server 2016 中执行。
SET @Count = (SELECT COUNT(1) FROM #SlabWeight);
WHILE ( @ID <= @Count )
BEGIN
SELECT @Weight = CONVERT(VARCHAR(11), weight)
FROM #SlabWeight
WHERE ID = @ID;
SET @WeightList += '[' + @Weight + '],';
SET @SQL = @SQL + ' ALTER TABLE #TempData ADD ['
+ @Weight + '] DECIMAL(18,2), [' + @Weight
+ '_BasedOn] VARCHAR(10)';
SET @SelectStatment = @SelectStatment + ' , [' + @Weight + '] , [' + @Weight + '_BasedOn]';
SET @ID += 1;
END;
谁能告诉我如何避免在此查询中使用 while 循环?
解决方案
推荐阅读
- discord.js - 不和谐.js | TypeError:无法读取未定义的属性“位置”
- java - 如何在 Picasso 中正确加载图像
- python - 需要 SQL 查询帮助(使用flask-sqlalchemy)列出所有未在复合多对多表中列出的项目
- python - 如何从多个文件制作子图?Python matplot 库
- angular - 如何在 Angular 的 MatTableModule 中为每一列添加过滤器?
- php - 读取发送到 Laravel 路由的 CSV 文件
- opengl - 有什么方法可以在 hlsl/glsl 片段着色器中按原语获得片段(像素)的百分比覆盖率?
- c - C中的指针和内存算法
- ruby-on-rails - 我怎样才能删除rails对象,每个都做信息
- rust - Rust 中的一个可变引用真的被强制执行了吗?