`
tooby
  • 浏览: 118248 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

DB2 游标遍历

    博客分类:
  • SQL
 
阅读更多

 While方式:

BEGIN
  -- 暂存变量.
  DECLARE  v_id    VARCHAR(10);
  DECLARE  v_value VARCHAR(10);
  DECLARE  SQLCODE INT;
  -- 定义游标.
  DECLARE c_test_main CURSOR FOR
      SELECT ID, VALUE FROM TEST;
  -- 打开游标.
  OPEN c_test_main;
  -- 填充数据.
  FETCH c_test_main INTO v_id, v_value;
  -- 假如检索到了数据,才处理.
  WHILE (SQLCODE = 0) DO
    --INSERT INTO output_debug VALUES(v_value);
    update TEST set QTR=v_value where ID = v_id and VALUE=v_value;
    -- 填充下一条数据.
    FETCH c_test_main INTO v_id, v_value;
  END WHILE;
  -- 关闭游标
  CLOSE c_test_main;
END

 Loop方式:

BEGIN
  -- 暂存变量.
  DECLARE  v_id    VARCHAR(10);
  DECLARE  v_value VARCHAR(10);
  DECLARE SQLCODE INT;
  -- 定义游标.
  DECLARE c_test_main CURSOR FOR
      SELECT id, value FROM Test;
  -- 打开游标.
  OPEN c_test_main;
  MyLoop: LOOP
    -- 填充数据.
    FETCH c_test_main INTO v_id, v_value;
    IF (SQLCODE = 0) THEN
      -- 假如检索到了数据,插入 debug 表.
      update TEST set QTR='--' where ID = v_id and VALUE=v_value;
    ELSE
      -- 假如没有数据,跳出循环.
      LEAVE MyLoop;
    END IF;
  END LOOP;
  -- 关闭游标
  CLOSE c_test_main;
END

 

分享到:
评论

相关推荐

    DB2游标及动态SQL

    ### DB2游标及动态SQL详解 #### 一、DB2游标概念与使用 **1.1 游标简介** 在DB2中,游标是一种用于遍历查询结果集的强大工具。它允许用户一行一行地处理数据,这对于需要逐行处理数据的应用场景非常有用。游标通常...

    DB2循环递归实例很有用的

    对于循环递归查询而言,CTE允许用户定义一个递归结构,从而能够遍历层级数据并获取所需的信息。 #### 三、具体实例解析 给定的代码片段是一个典型的DB2循环递归查询示例,用于检索组织结构中的所有子部门。下面将...

    DB2编程技巧与实用技术

    这使得在游标遍历过程中可以直接更新对应记录,提高了代码的灵活性。 DB2的编程技巧涉及到的方面远不止这些,还包括索引优化、事务管理、错误处理等高级主题。了解并熟练运用这些技巧,可以显著提高DB2应用程序的...

    DB2数据库存储过程小结

    以下是对DB2存储过程及其在使用游标方面的详细解释。 1. **存储过程的基本概念** - 存储过程是一组预先编译好的SQL语句,存储在数据库服务器上,可以被多次调用,减少了网络通信和解析时间。 - 它们可以接受输入...

    不定长的select交叉表查询,而且不用游标 sql 行列转化

    然后,循环遍历所有科目编码,动态添加COUNT(CASE ...)部分: ```sql SELECT @sql = @sql + 'COUNT(CASE xkbm WHEN ''' + xkbm + ''' THEN kscj ELSE 0 END) AS ''' + xkmc + ''', ' FROM (SELECT DISTINCT TOP 10 ...

    IBM DB2认证题库

    因此,正确的方法是先调用db2_fetch_object获取第一个结果集,然后通过db2_next_result遍历其他结果集。 综上所述,这些题目覆盖了DB2的CLI使用、游标操作、XML数据处理以及在PHP环境中与DB2的交互等多个关键知识点...

    db2学习代码例子(代码为转载网上)

    在DB2中,游标是处理大量数据的有效工具,特别是在需要循环遍历结果集时。 2. "游标with return to(caller和client)区别说明.doc":此文档可能对比了游标在两种返回模式下的区别——return to caller和return to ...

    db2 存储过程语法与实例

    在存储过程中,可以使用游标来处理查询结果集,并通过循环来遍历这些结果。 9. **示例应用** - **用户管理**:创建一个存储过程用于添加新用户,验证用户名的唯一性。 - **数据分析**:创建一个存储过程,计算...

    db2 连接数据库笔记

    9. **游标和结果集**:执行查询后,结果通常会返回一个`ResultSet`对象,通过游标(cursor)遍历数据行。 10. **关闭连接**:操作完成后,记得关闭所有打开的资源,包括`Connection`、`Statement`和`ResultSet`,以...

    IBM DB2 jdbc 驱动 for v10.5(官方版)

    3. 结果集处理:`java.sql.ResultSet`对象用于存储查询结果,可以遍历和提取数据。 4. 事务管理:JDBC驱动支持ACID(原子性、一致性、隔离性和持久性)事务特性,可以通过`Connection.commit()`和`Connection....

    db2数据库连接驱动包

    除了基本的连接和查询,DB2 JDBC驱动还支持事务管理、批处理、游标、存储过程调用等高级功能。在实际项目中,为了更好的性能和安全性,通常会采用连接池来管理数据库连接。 总的来说,"db2数据库连接驱动包"是Java...

    java 调用db2存储过程

    这个存储过程使用了游标来遍历 prod_order 表,并将结果插入到 member_basic_info 表中。 二、 Java 调用存储过程 要在 Java 中调用存储过程,需要使用 JDBC 连接 DB2 数据库。首先,需要加载 DB2 驱动程序: ```...

    DB2使用经验积累及心得

    - 游标提供了遍历查询结果的能力。 - `DECLARE cursor_name CURSOR FOR SELECT statement;`声明游标。 - `OPEN cursor_name;`打开游标。 - `FETCH NEXT FROM cursor_name INTO variable_list;`获取下一行数据。 ...

    PROC与OCI程序设计

    3. 游标处理:介绍如何使用ociStmtExecute函数执行SQL查询并获取结果集,以及如何通过游标遍历和处理数据。 4. 动态SQL:说明如何在运行时构建SQL语句,并通过OCI接口执行。 5. 错误处理:讨论在使用OCI时如何捕获...

    db2 jdbc驱动

    除了基本操作,DB2 JDBC驱动还支持高级功能,如批处理、事务控制、游标、存储过程调用、连接池管理等。理解并熟练使用这些特性,可以极大地提高Java应用与DB2数据库交互的效率和安全性。在实际项目中,通常会结合...

    db2 存储过程举例

    游标是数据库中的一种特殊指针,它可以用来遍历查询结果集中的行。在DB2存储过程中,游标可以通过`DECLARE`语句声明,然后通过`OPEN`, `FETCH`, `CLOSE`等语句来操作。 示例中的游标`zqtz`被声明为: ```sql ...

    DB2 Version 9.5 SQL Reference (Vol. 2).pdf

    此命令定义了一个游标,可以用来遍历查询结果中的行。 - **ALTER AUDIT POLICY**:用于修改审计策略。在DB2中,审计策略用于记录数据库活动,这对于安全性和合规性非常重要。通过这个命令,管理员可以更改哪些操作会...

    DB2使用经验积累

    - **游标的使用**:游标是DB2中用于遍历查询结果的一种机制。它可以逐行处理结果集。注意使用`COMMIT`和`ROLLBACK`来管理事务边界,避免数据丢失。 - **类似decode的转码操作**:在DB2中,可以通过`CASE WHEN`语句...

    Oracle转换DB2指导手册

    - **游标**:提供FOR循环遍历结果集的能力。 ##### 3.6 内置包 DB2提供了大量的内置函数和包,例如字符串处理函数、数学函数等,以提高开发效率。 ##### 3.7 Oracle特定JDBC扩展 DB2支持Oracle JDBC API的某些扩展...

    Server 2000 移植到 DB2

    可滚动游标允许应用程序向前或向后遍历查询结果集。移植时需要确认 DB2 是否支持相同类型的游标操作。 ##### 约束 (Constraints) 约束用于定义表中的数据规则。在移植过程中需要确保所有必需的约束(如主键、外键等...

Global site tag (gtag.js) - Google Analytics