1 0

oracle 定义游标的时候可以使用变量作为表的名字吗?5

我的目的就是希望可以在存储过程的参数中传递表的名称,然后在存储过程内定义游标的时候,根据表的名字来查询,这个可以做到吗?如下:

create or replace procedure case_to_province(table_name in varchar2, id_name in varchar2) as
        cursor cur is
       select * from table_name;

begin

        for rec in cur loop

……

我希望可以实现类似这种语句片段的效果,当然,上面的写法是错误的。还请大家给与帮助,非常感谢。

2012年6月13日 18:28

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

0 0

采纳的答案

可以用 Ref cursor:

  type refcur_type is ref cursor;
  cur refcur_type;

begin
  open cur for ' select * from ' || table_name;
  然后再fetch cur 就可以用了。。。

2012年6月14日 11:45

相关推荐

    快速掌握Oracle数据库游标的使用方法

    当游标选择很多列的时候,那么使用记录变量比为每列声明一个变量要方便得多。记录变量可以使用 TYPE 命令和%ROWTYPE 定义,例如:DECLARE R_emp EMP%ROWTYPE;其中,R_emp 是记录变量名,EMP 是表名。 在使用游标时...

    oracle数据库游标使用例子

    - **声明游标**:使用`DECLARE`关键字定义游标,指定查询语句和返回的数据类型。 - **打开游标**:使用`OPEN`语句打开游标,准备进行`FETCH`操作。 - **提取数据**:使用`FETCH`语句从游标中获取一行数据,并将其...

    ORACLE 游标使用示例

    在"游标.txt"文件中,可能包含了更多关于Oracle游标的使用实例和技巧,包括游标的声明、动态游标、游标变量、游标表达式以及游标在存储过程和函数中的应用。这些内容可以帮助你更深入地理解和掌握Oracle游标,提高你...

    oracle 隐式游标,显示游标,游标循环

    1. **声明游标**:定义游标并指定关联的查询语句。 2. **打开游标**:执行查询并将结果加载到游标中。 3. **提取数据**:从游标中逐行读取数据。 4. **关闭游标**:完成数据处理后关闭游标。 ##### 2. 声明游标 ```...

    Oracle的游标学习

    1. 声明游标:声明一个游标变量,指定与之关联的SQL查询。 ```sql DECLARE cursor_name CURSOR FOR SELECT column1, column2, ... FROM table_name WHERE condition; ``` 2. 打开游标:使用`OPEN`语句开始处理...

    Oracle数据库游标使用大全

    如果列的定义发生改变,使用`%TYPE`的变量将自动更新,避免了代码的重复修改。例如: ```sql DECLARE v_empno SCOTT.EMP.EMPNO%TYPE; v_salary EMP.SALARY%TYPE; BEGIN -- ... END; ``` 4. **DML语句**: ...

    Oracle游标使用案例大全

    - 游标函数:返回一个游标类型的函数,可以作为其他PL/SQL块的输入,使得游标可以在多个层次的调用结构中使用。 10. **游标与事务管理** - 游标操作可以包含在事务中,确保数据的一致性和完整性。 - 提交或回滚...

    Oracle 游标使用大全

    - 可以声明并使用游标变量来存储游标状态,方便在PL/SQL块中传递和操作。 4. **游标循环处理** - 在PL/SQL中,经常用FOR循环处理游标,简化代码,提高可读性。 5. **游标属性** - %FOUND:检查是否从游标中成功...

    Oracle入门--Oracle游标使用

    3. **%TYPE属性**:这个属性在声明变量时非常有用,它可以确保变量的数据类型与指定表的列完全匹配。如果列的数据类型或大小发生变化,%TYPE会自动更新变量的定义,避免代码需要频繁修改。例如: ```sql DECLARE ...

    oracle游标变量和数据包

    根据提供的文件内容,本文将详细解释Oracle中的游标变量与程序包的概念及其应用。 ### 一、游标变量 #### 1. Refcursor 类型创建 在 Oracle 的 PL/SQL 环境中,Refcursor 是一种特殊的游标类型,它可以作为函数的...

    oracle游标使用及实例

    如果需要在游标定义中使用变量作为条件,则可以通过以下方式定义带参数的游标: ```sql CURSOR <游标名称>(param1 data_type, param2 data_type, ...) IS SELECT <列名列表> FROM <表名> WHERE <条件>; ``` ...

    Oracle游标使用大全

    ### Oracle游标使用大全 #### 一、概述 在Oracle数据库中,游标是一种重要的机制,用于处理查询结果集中的数据。游标允许程序逐行处理数据,这在需要对多行数据进行循环处理时非常有用。本文档旨在提供一个全面的...

    oracle数据库的游标

    使用游标可以方便地访问查询结果集中的每一行,这对于处理大量数据是非常有用的。游标主要分为两种类型:显式游标和隐式游标。显式游标是用户通过编程定义的,可以处理多行数据;而隐式游标则是由数据库系统自动处理...

    Oracle存储过程游标详解

    如果使用了游标,就要尽量避免在游标循环中再进行表连接的操作。 Oracle 存储过程游标是指在 Oracle 数据库中使用游标来实现对结果集的处理和操作。它可以帮助开发者更好地处理和操作结果集,但需要注意避免使用...

    oracle游标使用大全1.txt

    #### 三、游标变量与%TYPE 在PL/SQL中,使用变量时通常会指定其数据类型。为了确保类型匹配,可以使用%TYPE属性。例如: ```sql DECLARE v_empno scott.emp.empno%TYPE; v_salary scott.emp.salary%TYPE; BEGIN ...

    Oracle 游标 Oracle 游标

    ### Oracle游标详解 在Oracle数据库中,游标(Cursor)是处理数据集的一个关键机制,主要用于执行查询并逐行处理结果集。游标可以被视为一个临时存储区,用于保存SELECT语句的结果集,允许程序对这些结果进行迭代...

    oracle 游标 深入浅出 详解 精析 示例

    游标变量的使用与显式游标类似,但无需定义游标,而是直接打开和关闭变量。 游标在PL/SQL中扮演着至关重要的角色,提供了处理复杂数据流和交互的强大工具。了解并熟练掌握游标的使用,对于编写高效、灵活的数据库...

    oracle的游标使用

    1. **声明游标**:定义游标的名称以及查询语句。 ```sql CURSOR emp_cursor IS SELECT empno, ename, sal, deptno FROM emp WHERE deptno = 20; ``` 2. **打开游标**:使游标准备好从指定的查询结果集中获取...

Global site tag (gtag.js) - Google Analytics