Oracle中Cursor介绍
关键字
概念
类型
异常处理
一 概念
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。
二 类型
Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态Cursor)。
1. 隐式Cursor:
1).对于Select …INTO…语句,一次只能从数据库中获取到一条数据,对于这种类型的DML Sql语句,就是隐式Cursor。例如:Select /Update / Insert/Delete操作。
2)作用:可以通过隐式Cusor的属性来了解操作的状态和结果,从而达到流程的控制。Cursor的属性包含:
SQL%ROWCOUNT 整型 代表DML语句成功执行的数据行数
SQL%FOUND 布尔型 值为TRUE代表插入、删除、更新或单行查询操作成功
SQL%NOTFOUND 布尔型 与SQL%FOUND属性返回值相反
SQL%ISOPEN 布尔型 DML执行过程中为真,结束后为假
3) 隐式Cursor是系统自动打开和关闭Cursor.
下面是一个Sample:
Sql代码 < type="application/x-shockwave-flash" width="14" height="15" src="http://www.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" quality="high" flashvars="clipboard=Set%20Serveroutput%20on%3B%0A%0Abegin%0A%20%20%20%20update%20t_contract_master%20set%20liability_state%20%3D%201%20where%20policy_code%20%3D%20'123456789'%3B%0A%20%20%20%20%0A%20%20%20%20if%20SQL%25Found%20then%0A%20%20%20%20%20%20%20dbms_output.put_line('the%20Policy%20is%20updated%20successfully.')%3B%0A%20%20%20%20%20%20%20commit%3B%0A%20%20%20%20else%0A%20%20%20%20%20%20dbms_output.put_line('the%20policy%20is%20updated%20failed.')%3B%0A%20%20%20%20end%20if%3B%0A%0Aend%3B%0A%0A%2F">
Set Serveroutput on;
begin
update t_contract_master&nbs
相关文档:
1. 查看密码文件中的成员:
可以通过查询视图V$PWFILE_USERS来获取拥有SYSOPER/SYSDBA系统权限的用户的信息,表中SYSOPER/SYSDBA列的取值TRUE/FALSE表示此用户是否拥有相应的权限。这些用户也就是相应地存在于密码文件中的成员。
2. 扩展密码文件的用户数量:
当向Oracle数据库密码文件添加的帐号数目超过创建密码文件时 ......
创建myt表并插入数据,如下:
create table myt(name varchar2,create_time date)
insert into myt values('john',to_date(sysdate,'DD-MON-YY'));
insert into myt values('tom',to_date(sysdate,'DD-MON-YY'));
insert into myt values('lili',to_date(sysdate,'DD-MON-YY'));
在sql ......
SELECT...FOR UPDATE 语句的语法如下:
SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];
其中:
OF 子句用于指定即将更新的列,即锁定行上的特定列。
WAIT 子句指定等待其他用户释放锁的秒数,防止无限期的等待。
“使用FOR UPDATE WAIT&rd ......
1、启动SQL*Plus
启动用SQL*Plus都会启动了,这种方式合适正常的终端用户使用,作为管理员我们有另一种变化形式NOLOG开关。
?[Copy to clipboard]View Code BASH
$ sqlplus /nolog
2、启动iSQL*Plus
由于不是主要学这个,前一篇也提过这个了,看下前一篇的内容吧,OCP认证考试指南(四):接合Oracle数据库
3、启动D ......