oracle sql返回序号_PL/SQL: 游标

SELECT . . . FROM … FOR UPDATE [OF column[, column]…] [NOWAIT]

FOR UPDATE 声明游标,对所选择的行进行锁住,迫使 ORACLE 锁定游标结果集合的行,可以防止其他事务处理更新或删除相同的行,直到您的事务处理提交或回退为止。

c739d273614b69839976fded83796c80.png

游标定义:游标是一个指向上下文的句柄( handle)或指针。

使用情况

a9a93b3480a069f2abc268134f201c04.png

游标属性  

%FOUND        

布尔型属性,当近一次读记录时成功返回,则值为 TRUE; 

%NOTFOUND     

布尔型属性,与%FOUND 相反; 

%ISOPEN            

布尔型属性,当游标已打开时返回 TRUE; 

%ROWCOUNT    

数字型属性,返回已从游标中读取的记录数。

1.显式游标

DECLARE   
CURSOR c_cursor IS SELECT ename, sal FROM emp WHERE rownum<11;   
v_ename  emp.ename%TYPE;   
v_sal      emp.sal%TYPE;
BEGIN OPEN c_cursor;
FETCH c_cursor INTO v_ename, v_sal;
WHILE c_cursor %FOUND LOOP   
DBMS_OUTPUT.PUT_LINE(v_ename||’---‘||to_char(v_sal) );   
FETCH c_cursor INTO v_ename, v_sal;
END LOOP;
CLOSE c_cursor;
END;

2.隐式游标

显式游标主要是用于对查询语句的处理,尤其是在查询结果为多条记录的情况下;而对于非查询语句,如修改、删除操作,则由 ORACLE 系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标,隐式游标的名字为SQL,这是由ORACLE系统定义的。对于隐式游标的操作,如定义、打开、取值及关闭操作,都由 ORACLE 系统自动地完成,无需用户进行处理。用户只能通过隐式游标的相关属性,来完成相应的操作。

隐式游标属性  

SQL%FOUND   

布尔型属性,当近一次读记录时成功返回,则值为 TRUE; 

SQL%NOTFOUND   

布尔型属性,与%FOUND 相反; 

SQL %ROWCOUNT  

数字型属性, 返回已从游标中读取得记录数; 

SQL %ISOPEN     

布尔型属性, 取值总是FALSE。SQL命令执行完毕立即关闭隐式游标。

DECLARE 

V_deptno emp.deptno%TYPE :=&p_deptno; 

BEGIN  

DELETE FROM emp WHERE deptno=v_deptno;  

IF SQL%NOTFOUND THEN   

DELETE FROM dept WHERE deptno=v_deptno;  

END IF; 

END;

本文资料来源于网上,只用于个人学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值