我用的是
open pret for
     select * from table;
现在不知道怎么做了
帮帮忙啊

解决方案 »

  1.   

    sample:
    DECLARE
       TYPE EmpCurTyp IS REF CURSOR;  -- define weak REF CURSOR type
       emp_cv   EmpCurTyp;  -- declare cursor variable
       my_ename VARCHAR2(15);
       my_sal   NUMBER := 1000;
    BEGIN
       OPEN emp_cv FOR  -- open cursor variable
          'SELECT ename, sal FROM emp WHERE sal > :s' USING my_sal;
       ...
    END;
      

  2.   

    CREATE OR REPLACE PACKAGE pkg_test
    AS
       TYPE myrctype IS REF CURSOR;   PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
    END pkg_test;
    /CREATE OR REPLACE PACKAGE BODY pkg_test
    AS
       PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
       IS
          sqlstr   VARCHAR2 (500);
       BEGIN
          IF p_id = 0 THEN
             OPEN p_rc FOR
                SELECT ID, NAME, sex, address, postcode, birthday
                  FROM student;
          ELSE
             sqlstr :=
                'select id,name,sex,address,postcode,birthday
               from student where id=:w_id';
             OPEN p_rc FOR sqlstr USING p_id;
          END IF;
       END get;
    END pkg_test;
    /
      

  3.   

    BEGIN
       OPEN emp_cv FOR  -- open cursor variable
          'SELECT ename, sal FROM emp WHERE sal > :s AND ENAME = :K' USING my_sal,my_name;
       ...
    END;
    按顺序加上即可。