欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle显示游标

程序员文章站 2022-06-24 20:11:08
Oracle显示游标,游标的基本原理: 在Oracle中,在执行一个有SELECT、INSERT、UPDATE和DELETE语句PL/SQL块时,Oracle会在内存中为其分配一...
Oracle显示游标,游标的基本原理:
在Oracle中,在执行一个有SELECT、INSERT、UPDATE和DELETE语句PL/SQL块时,Oracle会在内存中为其分配一个缓冲区,将执行结果放在这个缓冲区中,而游标是该去的一个指针。

游标分类:

静态游标 动态游标。

静态游标又分隐式游标和显示游标。

显示游标的使用步骤:
1.声明游标
CURSOR cursor_name [(parameter[,parameter]...)]
[RETURN return_type] IS select_statement;
cursor_name指游标的名称
parameter用于为游标指定输入参数。在指定数据类型时,不能使用长度约束。例如NUMBER(4)、CHAR(10)等都是错误的。
return_type用于定义游标提取的行的类型。
select_statement指游标定义的查询语句。
2.打开游标
OPEN cursor_name[(parameters)];
3.提取游标
FETCH cursor_name INTO variables;
cursor_name值游标的名称
variables是变量名。
4.关闭游标
CLOSE cursor_name;

显示游标的属性:
%FOUND:只有在DML语句影响一行或多行时,%FOUND属性才会返回TRUE。
%NOTFOUND:%NOTFOUND属性与%FOUND属性的作用正好相反。如果DML语句没有影响任何行,则%NOTFOUND属性返回TRUE。
%ROWCOUNT:%ROWCOUNT属性返回DML语句影响的行数。如果DML语句没有影响任何行,则%ROWCOUNT属性将返回0。
%ISOPEN:%ISOPEN属性返回游标是否已打开。

使用显示游标删除或更新:
CURSOR cursor_name IS
select_statement FOR UPDATE [OF columns];
SELECT FOR UPDATE[OF columns]为更新查询,锁定选择的行。
1.当选择单标更新查询时,可以省略OF子句。
2.当选择多个表更新查询时,被锁定的行来源于OF子句后声明的列所在的表中的行。