在oracle中%found和%rowcount分别表示什么意思?!

2024-11-10 20:44:07
推荐回答(1个)
回答1:

这是用于游标判断是否还有数据的:


Oracle游标常用属性:

%FOUND:变量最后从游标中获取记录的时候,在结果集中找到了记录。

%NOTFOUND:变量最后从游标中获取记录的时候,在结果集中没有找到记录。


比如:

Cursor emps is  
 
 Select * from employees where rownum<6 order by 1;  
 
 Emp employees%rowtype;  
 
 Row number :=1;  
 
Begin  
 
 Open emps; /* 打开静态游标 */  
 
 Fetch emps into emp; /* 读取游标当前行 */  
 
 Loop  
 
 If emps%found then  
 
   Dbms_output.put_line('Looping over record '||row|| ' of ' || emps%rowcount);  
 
   Fetch emps into emp;  
 
   Row := row + 1;  
 
 Elsif emps%notfound then  
 
   Exit;   
 
 End if;  
 
 End loop;