PL/SQL 训练05--游标】的更多相关文章

--所谓包,就是把一组PL/SQL的代码元素组织在一个命名空间下.--一种可以把程序或者其他的PL/SQL元素比如游标.类型.变量的组织结构在一起的结构(包括逻辑结构和物理结构)--包提供了非常重要的.独一无二的功能,包括隐藏逻辑或者隐藏数据的功能,以及定义和操作“全局”或者--会话持久数据的能力 --可以更容易地增强以及管理应用程序--整体改善应用程序性能 --改善应用或者内置的薄弱环节 --代码重新编译的需求最小化 --包的演示 --包由两个代码块组成的:规范部分(必须的)和包体部分(可选的…
PL/SQL -->隐式游标(SQL%FOUND) 分类: SQL/PLSQL 基础2010-12-22 16:23 4084人阅读 评论(0) 收藏 举报 sqlexceptionoraclenullinsertdelete --=============================== -- PL/SQL -->隐式游标(SQL%FOUND) --=============================== 在PL/SQL中,游标的使用分为两种,一种是显示游标,一种是隐式游标,显示游…
一.游标的相关概念及特性 1.定义 通过游标方式定位到结果集中某个特定的行,然后根据业务需求对该行进行相应特定的操作. 2.分类 显示游标: 用户自定义游标,用于处理select语句返回的多行数据. 隐式游标: 系统自动定义的游标,记录集只有单行数据,用于处理select into 和DML语句. 3.游标使用的一般过程: 显示游标:声明, 打开, 读取, 关闭. 隐式游标:直接使用,读取,声明.打开.关闭都是系统自动进行的. 4.显示游标的过程描述 a.声明游标    CURSOR curso…
一.隐式游标的定义及其属性 定义 隐式游标由系统自动定义,非显示定义游标的DML语句即被赋予隐式游标属性.其过程由oracle控制,完全自动化.隐式游标的名称是SQL,不能对SQL游标显式地执行OPEN,FETCH,CLOSE语句. 属性 类似于显示游标,隐式游标同样具有四种属性,只不过隐式游标以SQL%开头,而显示游标以Cursor_name%开头通过SQL%总是只能访问前一个DML操作或单行SELECT操作的游标属性,用于判断DML执行的状态和结果,进而控制程序的流程 SQL%ISOPEN …
在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个工作区(Work Area),或是一种结构化数据类型. 在每个用户会话中,可以同时打开多个游标,其数量由数据库初始化参数文件中的OPEN_CURSORS参数定义. 对于不同的SQL语句,游标的使用情况不同: SQL语句 游标 非查询语句 隐式的 结果是单行的查询语句 隐式的或显示的 结果是多行的查询…
--数据缓存技术 --PGA和SGA---SGA:系统全局区域--PGA:Process Global Area是为每个连接到Oracle的用户进程保留的内存. ---PLSQL从PGA获取信息的速度要比从SGA快--基于PGA的缓存为改善性能提供了许多有趣的机会 --基于包的缓存--基于包的缓存使用的是包级别的一个或多个变量,而不是在包中子程序的任何子程序里声明的变量--包级别的数据会一直存在于会话的整个生命期--如果在包级别声明了一个变量,一旦给这个变量赋了值,就会一直保持这个值,直到断开连…
--什么是动态SQL?动态PL/SQL--动态SQL是指在运行时刻才构建执行的SQL语句--动态PL/SQL是指整个PL/SQL代码块都是动态构建,然后再编译执行 --动态SQL来可以用来干什么? --执行DDL语句 --支持WEB引用的即席查询和即席更新需求 --软编码的业务规则和公式 --先来看dbms_sql包的使用 DECLARE v_cur number; v_sql ); v_result number; BEGIN v_cur := dbms_sql.open_cursor; v_…
--隐式游标--通过一个简单的SELECT ...INTO 语句提取一行数据,并放在一个局部变量中,最简单获取数据的途径 --显示游标--可以在声明单元明确的声明一个查询,这样可以在一个或多个程序中打开游标并且提取数据 --游标变量--使用游标变量,可以把指向一个查询结果集的指针从一个程序传递到另一个程序,灵活度较高--任何程序只要能访问这个变量,就可以打开这个游标,提取数据,关闭游标 --游标表达式--CURSOR表达式可以把一个SELECT 语句转换成REF CURSOR结果集,可以用于--…
--pl/sql通过SQL和ORACLE数据库紧密的整合在一起--在pl/sql中可以执行任何操作语句(DML语句),包括INSERT,UPDATE,DELETE,MERGE,也包括查询语句--可否执行DDL语句呢?--不可以直接执行,但可以通过动态SQL的方式执行,关于动态SQL,后面课程会专门拿一节课来讲 --事务的ACID原则:原子性,一致性,隔离性,持久性 --原子性:事务所涉及的改变是原子的:这些改变或者全部发生或者全部不发生 --一致性:一个事务必须是一个正确的状态转换.事务中发生的…
--开始介绍变量之前,我们先看下怎么在PLSQL写程序,如下我们写了一个块 declare --声明部分,声明变量 v_name ) :='hello world'; begin --执行区域 dbms_output.put_line(v_name);--如果使用SQL*PLUS,需要先执行set SERVEROUTPUT ON SIZE XXXXXX 才能显示打印信息 exception when others then null ; --异常处理区域 end ; --结束符 / --以上是一…