`
chengyue2007
  • 浏览: 1493107 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Oracle中游标的使用

阅读更多

1;字符串变量例子2

给你一个完整的例子:  
  DECLARE  
        TYPE   EmpCurTyp   IS   REF   CURSOR;              --定义游标类型typeof
        emp_cv       EmpCurTyp;  
        emp_rec     emp%ROWTYPE;                            --查找一行的时候用这个  emp 这个就是表的名字

--如果要定义某个列的类型的时候,需要直接定义这种类型.如: v_tab   t_clear.wlbmc%TYPE; 表示t_clear.wlbmc 表中 的某个字段的类型

 

        sql_stmt   VARCHAR2(200);  
        my_job       VARCHAR2(15)   :=   'CLERK';          --这个不知道是 
  BEGIN  
        sql_stmt   :=   'SELECT   *   FROM   emp   WHERE   job   =   :j';    --最好是使用这种方法的sql语句重要
        OPEN   emp_cv   FOR   sql_stmt   USING   my_job;   -- 打开游标      
        LOOP  
              FETCH   emp_cv   INTO   emp_rec;  
              EXIT   WHEN   emp_cv%NOTFOUND;               --如果游标到了文件尾部
              --   process   record                                          --对游标中的数据进行炒作
        END   LOOP;  
        CLOSE   emp_cv;                                                      ---关闭游标
  END;   

 

 

2下面的是我们实际应用中

create or replace function f_get_proposer(proposerids in varchar2)
  return varchar2
  is
  TYPE   EmpCurTyp   IS   REF   CURSOR;
 
  proposer t_ro_proposer.proposer%TYPE;
  proposers varchar2(500):='';
  uproposerids varchar2(500):='';
  sql_stmt   VARCHAR2(200); 
  space varchar2(2):='';
  --CURSOR   c_dept   IS  select  p.proposer   from t_ro_proposer p where p.proposerid in('||proposerids||'); 
  c_dept EmpCurTyp;
  BEGIN
  if length(proposerids)=0 or nvl(proposerids,'~')='~' then
         return (space);
     else
         uproposerids:=trim(proposerids);
     end if;
 
    --replace('',',',''',''');
    --replace(proposerids,',',''',''')
   sql_stmt:='select  p.proposer   from t_ro_proposer p where p.proposerid in('||proposerids||')';
  
    OPEN   c_dept   FOR   sql_stmt   ; 
    LOOP 
              FETCH   c_dept   INTO   proposer; 
              EXIT   WHEN   c_dept%NOTFOUND; 
              proposers:=proposers||proposer||',';
    END   LOOP; 

   CLOSE   c_dept ; 
 
 
-- return (proposer);
 return (proposers);
  END;

 

分享到:
评论

相关推荐

    oracle中游标的使用

    Oracle 中游标的使用 Oracle 中的游标(Cursor)是一种重要的数据库对象,它允许开发者在 SQL 语句中处理大量数据。游标的使用可以将复杂的数据处理过程简化,使得开发效率和代码可读性提高。下面将对 Oracle 中游...

    oracle 中游标的用法

    在Oracle数据库中,游标(Cursor)是一种非常重要的编程工具,...以上内容详细介绍了Oracle中游标的使用方法,包括基本概念、类型和在PL/SQL中的操作。通过学习和实践,你可以熟练掌握游标,提升在数据库编程中的效率。

    ORACLE中游标的使用.pdf

    Oracle中的游标是PL/SQL编程中的核心概念,主要用于处理多行查询结果。游标允许程序逐行处理数据库查询返回的数据,而不是一次性加载所有记录。根据声明方式不同,Oracle的游标可以分为隐式游标和显式游标。 隐式...

    oracle中游标的应用详解

    ### Oracle中游标的应用详解 #### 一、游标概念及分类 游标在Oracle数据库中扮演着重要的角色,尤其在处理多行数据时显得尤为关键。游标本质上是SQL的一个内存工作区,用于存储从数据库中提取的数据块。为了提高...

    oracle cursor 实例

    oracle中游标的使用方法,便于初学者参考,精通人员欢迎指正在。

    关于Oracle9i中游标的应用.pdf

    【Oracle9i中游标的应用】 Oracle数据库是关系型数据库管理系统的一个典型代表,它提供了丰富的功能,其中游标是数据库编程的重要组成部分。游标允许开发者逐行处理查询结果集,对于交互式应用程序的设计尤其关键。...

    Oracle游标的使用

    本文将详细介绍Oracle中游标的使用方法,包括游标的定义、类型以及如何在实际编程中应用这些概念。 #### 二、游标的定义与作用 游标是SQL的一个内存工作区,它可以由系统或用户定义。它主要用于临时存储从数据库中...

    Oracle游标使用.docx

    本文详细介绍了Oracle中游标的使用方法,包括隐式游标和显式游标的定义、属性以及具体的操作步骤。通过这些知识点的学习,可以更好地理解和掌握如何在Oracle数据库中高效地处理数据。 通过本文的学习,你应该能够...

    oracle游标使用大全3

    本文详细介绍了Oracle中游标的使用方法,包括基本语法、简化使用方式以及如何利用游标进行数据更新和删除等高级操作。通过这些知识点的学习,读者可以更好地掌握如何在实际开发中运用游标来提高数据处理效率和灵活性...

    Oracle中游标Cursor基本用法详解

    以上就是Oracle中游标的基本用法。通过游标,开发者能够灵活地遍历查询结果,进行复杂的逻辑处理,从而实现更精细的数据操作。在实际开发中,熟练掌握游标的使用是提高代码效率和可维护性的重要手段。

    oracle游标大全

    本文将详细介绍Oracle中游标的使用方法、分类及其在存储过程中的应用。 #### 二、基本概念 **1. SELECT INTO 语句** - 在PL/SQL中,`SELECT INTO` 语句通常用来查询单行数据,并将查询结果直接赋值给指定的变量。...

    oracle CURSOR例子

    本文将通过几个示例详细介绍Oracle中游标的使用方法。 #### 明确声明的游标 (Explicit Cursor) 在Oracle PL/SQL块中,可以通过`CURSOR`关键字明确声明一个游标。声明游标时,需要指定查询语句,该查询语句定义了...

    精通SQL--结构化查询语言详解

    17.4 oracle中游标的使用 365 17.4.1 显式游标与隐式游标 365 17.4.2 游标的属性 366 17.4.3 %type、%rowtype定义记录变量 367 17.4.4 参数化游标 368 17.4.5 游标中的循环 369 17.4.6 游标变量 371 17.5 小...

    精通sql结构化查询语句

    6.4.4 使用TOP子句 6.4.5 NULL的判断 6.5 模糊查询 6.5.1 使用LIKE运算符进行查询 6.5.2 使用“_”通配符进行查询 6.5.3 使用“%”通配符进行查询 6.5.4 使用“[]”通配符进行查询 6.5.5 使用“[^]”通配符进行查询...

    oracle和sql server区别

    在 SQL 中游标的使用比较复杂,不能同时打开一个以上的游标,因为它只有一个全局变量@@Fast_statues 而且声明游标也麻烦,关闭游标时也不清除内存的;Oracle 中游标是以提高速度全部统一的单项游标,可以允许多用户...

    oracle试卷及答案

    7. **PL/SQL中游标的可修改性:** - 正确。PL/SQL中的游标可以被更新或修改。 8. **表与数据文件的关系:** - 正确。一个表可以分布在多个数据文件上,而一个数据文件也可以存储多个表的数据。 9. **HAVING子句...

    oracle考试试题及答案.pdf

    9. PL/SQL中游标的数据是可以改变的 —— 错误(F) 10. 数据库概念模型用于概念结构设计 —— 正确(T) 七、简答题和SQL编程题涉及的知识点: 1. 数据与程序的逻辑独立性与物理独立性:逻辑独立性允许用户独立于...

    oracle真题二

    PL/SQL中游标的数据是可以改变的。数据库概念模型主要用于数据库概念结构设计。 数据与程序的逻辑独立性和物理独立性是指数据的逻辑结构与物理存储是独立的,程序的逻辑结构与物理实现是独立的。关系代数中等值连接...

Global site tag (gtag.js) - Google Analytics