oracle数据库的游标Cursor和存储过程 PL/SQL
    oracle数据库的游标和存储过程
spool abc.log                  --开始记录日志
create or replace procedure db.PROC_FIRST(FLAG OUT INTERGER,
     T_DATE IN VARCHAR2)
AS
  varno varchar2(20); 
  varprice varchar2(20);  
 CURSOR mycur(vartype number) is 
  select emp_no,emp_zc from cus_emp_basic 
  where com_no = vartype;   
BEGIN
  if NOT mycur%ISOPEN then 
  open mycur(043925); 
  end if; 
  FETCH mycur INTO varno,varprice; 
  WHILE mycur%FOUND 
  LOOP 
      dbms_output.put_line(varno||','||varprice); 
      if mycur%rowcount=2 then 
        EXIT; 
     end if; 
     fetch mycur into varno,varprice; 
  END LOOP; 
  CLOSE mycur;  
  EXCEPTION   WHEN OTHERS THEN
 ROLLBACK;
  end; 
 spool off
  记录并不保存在数据库中,它与变量一样,保存在内存空间中,在使用记录时候,要首先定义记录结构,然后声明记录变量。可以把PL/SQL记录看作是一个用户自定义的数据类型。  
EXECUTE IMMEDIATE sqlstr; 
它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前
PL/SQL的系统变量及CURSOR:
游标属性:
 %ISOPEN
 %FOUND
 %NOTFOUND
 %ROWCOUNT 
异常:
 SQLCODE() 错误号
 SQLERRM() 错误信息
NO_DATA_FOUND
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html