MSSQL一种取代游标的方案

简介: 原文:MSSQL一种取代游标的方案今天看到一篇文章写的自己整理记录下,据说比用游标快。 DECLARE @字段1 数据类型; DECLARE @字段2 数据类型; DECLARE @TMP_WHILE_ID INT; SELECT TMP_WHILE_ID=IDENTITY(INT,1,1),TMP_WHILE_FLAG=0, [字段1],[字段2],.
原文: MSSQL一种取代游标的方案

今天看到一篇文章写的自己整理记录下,据说比用游标快。

DECLARE @字段1 数据类型;
DECLARE @字段2 数据类型;

DECLARE @TMP_WHILE_ID INT;
SELECT TMP_WHILE_ID=IDENTITY(INT,1,1),TMP_WHILE_FLAG=0,

[字段1],[字段2],...

INTO #TMP_WHILE FROM [表名] WHERE [条件]....;

SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0;
WHILE @TMP_WHILE_ID IS NOT NULL
BEGIN
    --获取当前处理行的信息
    SELECT @字段1=字段1,@字段2=字段2,... FROM #TMP_WHILE WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
    
    --<这里自己的处理过程>
    
    --标识当前行已处理完毕
    UPDATE #TMP_WHILE SET TMP_WHILE_FLAG=1 WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
    --选择下一行号
    SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0 AND TMP_WHILE_ID>@TMP_WHILE_ID;
END
DROP TABLE #TMP_WHILE;

 

目录
相关文章
|
4月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL隐式游标:数据的“自动导游”与“轻松之旅”
【4月更文挑战第19天】Oracle PL/SQL中的隐式游标是自动管理的数据导航工具,简化编程工作,尤其适用于简单查询和DML操作。它自动处理数据访问,提供高效、简洁的代码,但不适用于复杂场景。显式游标在需要精细控制时更有优势。了解并适时使用隐式游标,能提升数据处理效率,让开发更加轻松。
|
7天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
63 0
|
2月前
|
监控 Oracle 算法
|
2月前
|
Oracle 关系型数据库 数据库
关系型数据库Oracle执行RMAN脚本
【7月更文挑战第22天】
35 2
|
4月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL显式游标:数据的“私人导游”与“定制之旅”
【4月更文挑战第19天】Oracle PL/SQL中的显式游标提供灵活精确的数据访问,与隐式游标不同,需手动定义、打开、获取和关闭。通过DECLARE定义游标及SQL查询,OPEN启动查询,FETCH逐行获取数据,CLOSE释放资源。显式游标适用于复杂数据处理,但应注意SQL效率、游标管理及异常处理。它是数据海洋的私人导游,助力实现业务逻辑和数据探险。
|
4月前
|
SQL Oracle Java
怎样写出可在各种数据库间移植的SQL
国际标准没有对这些函数做规定,这种 SQL 语句就会和数据库相关而无法移植了,而这些函数在应用开发中还特别常见。 Hibernate 能将包括这些函数的标准 HQL 语句转换成不同数据库的 SQL,但 HQL 支持的函数太少,碰到不认识的函数还是要分别注册,这就丧失了可移植性;而且 HQL 能生成的 SQL 本身也比较简单,覆盖面太窄了。
|
4月前
|
SQL Serverless 数据库
嵌入式数据库sqlite3子句和函数的使用基础(06)
嵌入式数据库sqlite3子句和函数的使用基础(06)
48 0
|
12月前
|
SQL 存储 算法
比 SQL 快几倍到几百倍,这个国产数据库技术真的强
SPL 作为专门用于结构化和半结构化数据的处理技术,在实际应用时经常能比 SQL 快几倍到几百倍,同时代码还会短很多,尤其在处理复杂计算时优势非常明显。用户在看到这些应用效果后对 SPL 往往很感兴趣,但又担心掌握起来太难,毕竟 SPL 的理念和语法都跟 SQL 有较多不同,这要求用户需要重新了解一些概念和学习新的语法,用户可能会心生疑虑
82 0
|
SQL 存储 算法
MySQL数据库:第十六章:sql高级函数
MySQL数据库:第十六章:sql高级函数
|
关系型数据库 PostgreSQL
下一篇
DDNS