0 0

关于oracle存储过程的%rowtype字段取值5

如下面的一段过程:

 

DECLARE  
 CURSOR C_A IS SELECT '1' COL1,'2' COL2 ,'3' COL3  FROM DUAL; 
 R_A   C_A%ROWTYPE;
BEGIN
  OPEN C_A;
  LOOP
       FETCH C_A INTO R_A;
       EXIT WHEN C_A%NOTFOUND;
       DBMS_OUTPUT.PUT_LINE(R_A.COL1);
  END LOOP;
END;
/

 这个执行的时候是没有问题的,现在的情况是,我实际的表里有很多字段,其中有部分字段是可能会用到的,但是不确定是哪些,对于这些字段,可以通过其他方式查到,最后也是赋值到变量里。类似于下面的一段:

 

DECLARE  
 CURSOR C_A IS SELECT '1' COL1,'2' COL2 ,'3' COL3  FROM DUAL; 
 R_A   C_A%ROWTYPE;
 ICOL VARCHAR2(10);
BEGIN
  ICOL:='COL1';
  OPEN C_A;
  LOOP
       FETCH C_A INTO R_A;
       EXIT WHEN C_A%NOTFOUND;
       --DBMS_OUTPUT.PUT_LINE(R_A.ICOL);
  END LOOP;
END;
/

 如果我想用一个变量去达到调用第一段的R_A.COL1的效果,应该如何实现?

2012年5月18日 22:13

1个答案 按时间排序 按投票排序

0 0

首先,你的游标C_A中不含有字段ICOL,所以不能采用这种DBMS_OUTPUT.PUT_LINE(R_A.ICOL);

建议楼主可以给游标中取一个空列ICOL,如下:

DECLARE     
 CURSOR C_A IS SELECT '1' COL1,'2' COL2 ,'3' COL3,'' ICOL  FROM DUAL;    
 R_A   C_A%ROWTYPE;   
 ICOL VARCHAR2(10);   
BEGIN  
  ICOL:='COL1';   
  OPEN C_A;   
  LOOP   
       FETCH C_A INTO R_A;  
       R_A.ICOL:=ICOL; 
       EXIT WHEN C_A%NOTFOUND;   
       DBMS_OUTPUT.PUT_LINE(R_A.ICOL);   
  END LOOP;   
END;   
/  



2012年5月19日 11:54

相关推荐

    Oracle PL/SQL中如何使用%TYPE和%ROWTYPE

    Oracle PL/SQL 中的 %TYPE 和 %ROWTYPE 应用详解 Oracle PL/SQL 是一种强大的编程语言,广泛应用于数据库开发中。在 PL/SQL 中,变量的声明和使用是非常重要的。其中,%TYPE 和 %ROWTYPE 是两个非常重要的概念,...

    Oracle存储过程、游标、函数的详解

    ### Oracle存储过程、游标、函数的详解 #### 一、概述 在Oracle数据库中,存储过程、游标和函数是非常重要的组成部分,它们为数据库管理提供了强大的编程能力。通过学习这些概念,我们可以更加灵活地管理和操作...

    *oracle存储过程总结*oracle存储过程总结*

    根据提供的文件信息,我们可以归纳出以下Oracle存储过程的相关知识点: ### Oracle存储过程基础概念 - **存储过程**:是在数据库中存储的一组SQL语句和控制流语句的集合,可以接受输入参数、返回单个值、返回多个...

    oracle存储过程使用文档

    ### Oracle存储过程使用知识点 #### 一、存储过程概述 - **定义**:存储过程(Stored Procedure)是在数据库中预编译的一组SQL语句集合,它可以被当作一个单独的对象来调用,只需要指定存储过程的名字及参数(如果...

    Oracle存储过程分页

    ### Oracle存储过程分页知识点详解 #### 一、Oracle存储过程分页原理及实现方法 在Oracle数据库中,实现分页查询通常有两种方法:一种是使用`ROWNUM`伪列,另一种则是通过存储过程实现。其中,使用存储过程进行...

    如何编写高效健壮的ORACLE存储过程.pdf

    在ORACLE数据库中,表的字段具有明确的数据类型、长度和精度约束,而在存储过程中,变量的定义相对宽松。然而,通过使用`%TYPE`和`%ROWTYPE`属性,我们可以将存储过程中的变量与表的列直接关联,增强代码的健壮性。`...

    Oracle存储过程 知识点总结

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许程序员将一系列SQL语句和控制结构打包在一起,形成一个可重用的单元,以提高数据库操作的效率和便捷性。以下是对Oracle存储过程的一些关键知识点的...

    ORACLE存储过程实现添加、修改、删除、查询

    在Oracle数据库环境中,存储过程是一种预编译的代码块,用于执行特定的数据库操作,如数据的添加、修改、删除和查询。它们提供了一种高效且安全的方式来处理数据,同时还可以减少网络流量并提高应用程序的性能。下面...

    oracle存储过程函数和程序包.ppt

    Oracle 存储过程函数和程序包 Oracle 存储过程函数和程序包是 Oracle 数据库中的一种核心组件,用于实现复杂的业务逻辑和数据处理。以下是 Oracle 存储过程函数和程序包的知识点总结: 一、游标的概念和类型 游标...

    oracle存储过程、游标、函数、PL/SQL块

    包含oracle存储过程的增、删、查、改 %type、%rowtype的使用 自定义函数 PL/SQL块

    oracle存储过程学习经典[语法+实例+调用]

    ### Oracle存储过程学习经典知识点详解 #### 一、Oracle存储过程概述 **Oracle存储过程**是一种可以在Oracle数据库中存储并可被多次调用的程序单元。它可以包含一系列SQL语句和控制流语句,用于执行复杂的操作。...

    INFORMIX与ORACLE存储过程语言之间的异同分析.pdf

    INFORMIX与ORACLE存储过程语言之间的异同分析 INFORMIX与ORACLE是两种流行的关系型数据库管理系统,它们都支持存储过程语言,以提高数据库应用的性能和安全性。然而,INFORMIX和ORACLE存储过程语言之间存在着一定的...

    Oracle存储过程.pdf

    综上所述,Oracle存储过程和PL/SQL编程是数据库管理和应用开发中非常重要的技能点。掌握这些技术点,可以帮助开发者编写出更加高效、安全和可维护的数据库应用。在实际应用中,开发者应充分利用存储过程和PL/SQL提供...

    oracle存储过程教程

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者创建一系列复杂的SQL和PL/SQL语句,形成可重用的程序单元。Oracle存储过程对于初学者来说,理解其基本概念和使用方法至关重要。 首先,我们要...

    oracle存储过程进阶

    介绍了oracle存储过程中常见的sql写法,游标(隐式,显式),触发器, CASE ... WHEN ... THEN ...ELSE ... END,IF... THEN ... ELSIF ...THEN...ELSE...END IF,记录类型变量定义和使用 ,%type定义变量,%rowtype定义变量...

    oracle存储过程、函数和程序包.pptx

    Oracle存储过程、函数和程序包 Oracle存储过程、函数和程序包是数据库管理系统中的一种机制,允许开发者在数据库服务器上创建和执行自定义的代码,以提高数据库的性能和安全性。本文将对Oracle存储过程、函数和程序...

    PLSQL编程03

    在Oracle数据库环境中,PL/SQL是一种强大的过程式编程语言,用于扩展SQL的功能,实现复杂的业务逻辑。本节我们将深入探讨PL/SQL中的自定义复合变量,以及`%TYPE`和`%ROWTYPE`这两个关键特性在编程中的应用。 首先,...

    oracle 存储过程(9)

    Oracle 存储过程是数据库管理中的重要组成部分,它是一组为了完成特定功能的SQL语句集,被编译后存储在数据库中,可以被多次调用。在Oracle中,存储过程能够提高应用性能,减少网络流量,提升代码的可重用性和安全性...

    oracle 存储过程分页示例

    Oracle存储过程是数据库管理系统中的一种重要编程元素,用于封装一系列SQL语句和PL/SQL代码,以实现特定的业务逻辑或功能。在大型数据库应用中,分页查询是常见的需求,尤其是在展示大量数据时,避免一次性加载所有...

    oracle关于游标的相关文档

    Oracle中的游标是PL/SQL编程中的重要概念,主要用于处理SQL查询返回的多行结果集。游标允许程序逐行处理结果集,提供了对数据库数据的动态访问和操作能力。 游标分为两种类型:显式游标和隐式游标。显式游标是...

Global site tag (gtag.js) - Google Analytics