SQL> CREATE OR REPLACE PROCEDURE cursorvariable_sample
2 IS
3 TYPE cursorvariable_type IS REF CURSOR;
4 cv cursorvariable_type;
5 rec1 dba_users%ROWTYPE;
6 rec2 dba_objects%ROWTYPE;
7 BEGIN
8 OPEN cv FOR SELECT * FROM dba_users;
9 LOOP
10 FETCH cv INTO rec1;
11 EXIT WHEN cv%NOTFOUND;
12 DBMS_OUTPUT.PUT_LINE(rec1.username || ' ' || rec1.account_status);
13 END LOOP;
14 CLOSE cv;
15
16 OPEN cv FOR SELECT * FROM dba_objects WHERE object_name='PACKAGE_SAMPLE;
17 LOOP
18 FETCH cv INTO rec2;
19 EXIT WHEN cv%NOTFOUND;
20 DBMS_OUTPUT.PUT_LINE(rec2.object_name || ' ' || rec2.object_type ||
' ' || rec2.status);
21 END LOOP;
22 CLOSE cv;
23
24 END;
25 /
プロシージャが作成されました。
SQL>
|