create or replace procedure emp_demo5(empsalary out sys_refcursor)
AS
  begin
  OPEN empsalary FOR
        SELECT s.employeeid,s.salaryvalue from salary s;
  end emp_demo5;对于 这个FOR我不知道在这是什么作用   
能帮我解释下这个语法吗?

解决方案 »

  1.   

    这里是动态游标,为empsalary游标指定来源,他等效于
    cursor empsalary is 
      SELECT s.employeeid,s.salaryvalue from salary s;
    begin 
      open empsalary...
    end;
      

  2.   

    就是在OPEN时为empsalary指定了SQL字符串 for就是指定目标  
      

  3.   

    for 是为open的游标制定目标源的,记住这个语法就好了
      

  4.   

    open ...for后面接不同的查询语句,这个为游标变量。