`
fengzgxing
  • 浏览: 244466 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

pl/sql cursor的用法

阅读更多
/*声明部分,以declare开头*/
declare
v_id integer;
v_name varchar(20);
cursor c_emp is select * from employee where emp_id=3;
/*执行部分,以begin开头*/
begin
 open c_emp;             --打开游标
 loop
  fetch c_emp into v_id,v_name;  --从游标取数据
  exit when c_emp%notfound ;
 end loop ;
close c_emp;           --关闭游标
dbms_output.PUT_LINE(v_name);
/*异常处理部分,以exception开始*/
exception
 when no_data_found then
  dbms_output.PUT_LINE('没有数据');
end ;
分享到:
评论
1 楼 jakey0613 2009-04-09  
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO




ALTER    FUNCTION [dbo].[csGetServiceTask] (@iSVC_SEQ varchar(20)) 
RETURNS varchar(4096) AS  
BEGIN 
  declare @cre_user varchar(20)
  declare @cre_time varchar(20)
  declare @svc_remark varchar(100)
  declare @fls_no varchar(3)
  declare @eqp_no varchar(10)
  declare @iCount int
  declare @sResult varchar(4096) 

  declare cursor1 cursor for
     select  CRE_USER, CRE_DATE + ' ' + CRE_TIME as CRE_TIME,IsNull(SVC_REMARK,'') SVC_REMARK,
      IsNull(FLS_NO,'') FLS_NO,IsNull(EQP_NO,'') EQP_NO from MIS_ServiceTask t
     where SVC_SEQ=@iSVC_SEQ
     order by TASK_SEQ

  open cursor1
  fetch next from cursor1 into @CRE_USER,@CRE_TIME,@SVC_REMARK,@FLS_NO,@EQP_NO

  set @iCount = 0
  set @sResult = ''
  while @@FETCH_STATUS=0 begin
    set @iCount = @iCount + 1
    set @sResult = @sResult + Cast(@iCount as varchar(5))+'.'+@CRE_USER+' '+
        @CRE_TIME +' '+Substring(@SVC_REMARK,1,30)+' '+@FLS_NO+' '+@EQP_NO+'<br>'
    fetch next from cursor1 into @CRE_USER,@CRE_TIME,@SVC_REMARK,@FLS_NO,@EQP_NO
  end

  close cursor1
  deallocate cursor1
  return @sResult
END




GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

能帮我解释一下吗?谢谢!!

相关推荐

    oracle 中 pl/sql 只是学习方法

    对于初学者,理解并熟练掌握PL/SQL的各项特性和用法至关重要。通过实践和编写小示例,可以逐步提升对PL/SQL的掌控能力。同时,深入学习Oracle数据库的其他功能,如索引优化、性能分析等,将使你在数据库开发和管理...

    Web pl/sql报表制作过程

    Web PL/SQL报表制作过程是一种将数据库数据转化为用户友好、可编辑的HTML报表的方法,它结合了HTML语言和PL/SQL编程,使得开发者能够创建直观且实用的在线报表。以下是对这一过程的详细说明: 1. **制作报表模板**...

    PL/SQL 核心基础代码

    在"PL_sql.exe"这个压缩包文件中,可能包含了上述各个知识点的示例代码,学习者可以通过运行和分析这些代码,深入理解PL/SQL的核心概念和用法。实践是学习编程的最好方式,通过这个资源,你可以逐步熟悉并精通PL/SQL...

    ORACLE8 PLSQL程序设计_sql_code.zip_oracle pl/sql_pl sql code_pl/sql_

    4. **CV1**: "CV1"可能代表"Cursor Variable 1",04-CV1.PC可能涉及到如何声明和使用游标变量,这是PL/SQL中处理查询结果集的常见方法。 5. **PRCMP**: "PRCMP"可能指的是过程或函数的编译,07-PRCMP.PC可能涵盖...

    PL/SQL存储过程编程

    与其他方法不同的是,PL/SQL程序直接存储在数据库中,并在数据库服务器上执行,这有助于提高性能并减少网络通信开销。 #### 二、PL/SQL简介 - **定义**: PL/SQL(Procedural Language for SQL)是在标准SQL的基础...

    PL/SQL基础

    当需要处理多行结果时,则应使用游标(Cursor)的方法来实现。 除了查询操作外,PL/SQL还可以执行数据操纵语言(DML)操作,包括INSERT(插入)、DELETE(删除)和UPDATE(更新)。虽然DML语句在PL/SQL程序中的语法与...

    PL/SQL用户指南与参考

    可以在SQL语句中使用PL/SQL的集合类型,如`INSERT`、`UPDATE`等。 ##### 九、使用多级集合 多级集合允许嵌套使用集合。 ##### 十、集合的方法 集合提供了多种方法来操作集合元素。 ##### 十一、避免集合异常 了解...

    第九讲 PL/SQL语言对数据库的交互作用.pdf

    我们可以从中提取到关于PL/SQL语言及其对数据库交互作用的丰富知识点,本知识点详解将围绕以下几个方面展开:PL/SQL基本操作、PL/SQL处理数据库记录、游标(Cursor)的概念及其在PL/SQL中的使用。 1. PL/SQL基本...

    PL/SQL实现获得所有表名及列名到表

    在IT领域,特别是数据库管理与开发中,PL/SQL...通过本文的学习,我们不仅掌握了使用PL/SQL进行元数据查询的基本方法,还学会了如何构建复杂的数据库应用程序,这对于数据库管理员和开发者来说都是极为宝贵的技能。

    PL/SQL中用到的几种不同类型的游标写法(转)

    本篇文章将深入探讨PL/SQL中使用的几种不同类型的游标及其用法。 首先,我们有隐式游标。PL/SQL为每个SQL语句自动提供隐式游标,用户无需显式声明。当执行一个DML(数据操纵语言)语句如INSERT、UPDATE或DELETE时,...

    pl/sql的语法帮助

    这份"pl/sql的语法帮助"文档可能包含了关于如何编写PL/SQL代码的基础知识和常见用法。 在PL/SQL中,你可以定义变量、创建过程、函数、触发器,以及处理异常。以下是一些关键的PL/SQL语法点: 1. **声明变量**:在...

    oracle PL/ SQL语言基础

    Oracle PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一种编程语言,它结合了SQL的查询功能和传统的过程式编程语言的特点,为数据库管理与开发提供了强大的工具。这篇文档将深入...

    PL/SQL学习笔记6

    在PL/SQL编程中,游标是处理查询结果集的重要工具。它们允许程序逐行处理结果,而不是一次性加载所有数据,这对于大型数据集尤其有用,...理解游标的使用方法和管理规则对于编写高效、可靠的数据库应用程序至关重要。

    64位 PL/SQL 12

    PL/SQL 12是Oracle数据库管理系统的编程接口,它是一种强大的编程语言,用于在Oracle环境中创建、管理和操作...通过深入理解这些工具的使用方法和最佳实践,开发者可以更有效地在Python环境中与Oracle数据库进行交互。

    Oracle数据库实验--PL/SQL程序基础1

    为了实现这个任务,我们使用了`%rowtype`属性,这是Oracle PL/SQL提供的一种特殊类型定义方式,它允许我们将一个表的一行数据定义为一种类型。这里我们定义了一个名为`row_emp`的变量,其类型是`emp%rowtype`,即`...

    Oracle9i PL_SQL程序设计

    4. **游标**:游标是处理单行结果集的一种方法,允许PL/SQL程序逐行访问SQL查询的结果。它们在处理复杂数据交互和循环遍历结果集时非常有用。 5. **过程与函数**:过程是一组PL/SQL语句的集合,可以有输入和输出...

    PL/SQL 基础.doc

    6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合ORACLE; 2. PL/SQL 1) PL/SQL(Procedual language/SQL)是在标准SQL的基础上增加了过程化处理的语言; 2) Oracle客户端工具访问Oracle...

    PL/SQL8.0 中文手册

    - 详细介绍PL/SQL支持的数据类型及其使用方法。 - 包括基本数据类型(如NUMBER、VARCHAR2等)以及复杂数据类型(如REF CURSOR、RECORD等)。 ##### 4.4 保存测试脚本 - 测试脚本可以保存为独立文件,方便后续重用。...

    Oracle PL/SQL的大量操作

    这篇博文将深入探讨如何在Oracle数据库中使用PL/SQL进行大规模的数据操作。 首先,PL/SQL中的批量处理是提高性能的关键。当我们需要对成千上万的记录执行相同操作时,一次性提交多条SQL语句而非逐一执行,可以显著...

    PL/SQL过程编程的异常解释

    通过以上示例可以看出,在PL/SQL中合理地使用异常处理机制不仅可以提高程序的健壮性,还能让代码更加清晰易读。了解并熟练掌握异常处理技巧对于每一个从事数据库应用程序开发的程序员来说都是非常重要的。

Global site tag (gtag.js) - Google Analytics