| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 | SQL> drop table mytable;
 
Table dropped.
 
SQL>
SQL> CREATE TABLE MYTABLE
  2  (
  3    TBL_ID  NUMBER,
  4    TBL_CLE VARCHAR(20),
  5    TBL_LIB VARCHAR(60),
  6    CONSTRAINT PK_MYTABLE PRIMARY KEY (TBL_ID) ENABLE
  7  );
 
Table created.
 
SQL>
SQL> insert into mytable values(0, 'OK', 'OK');
 
1 row created.
 
SQL>
SQL> create or replace package pmt
  2  is
  3  PROCEDURE MYTABLE_Proc (curRet IN OUT SYS_REFCURSOR, MOT VARCHAR);
  4  end;
  5  /
 
Package created.
 
SQL> show errors
No errors.
SQL>
SQL> create or replace package body pmt
  2  is
  3  PROCEDURE MYTABLE_Proc (curRet IN OUT SYS_REFCURSOR, MOT VARCHAR) IS
  4  BEGIN
  5    OPEN curRet FOR SELECT TBL_ID ID, TBL_CLE CLE, TBL_LIB LIB
  6    FROM MYTABLE
  7    WHERE upper(TBL_LIB) LIKE upper(MOT)
  8    ORDER BY TBL_LIB;
  9  END;
 10  end;
 11  /
 
Package body created.
 
SQL> show errors
No errors.
SQL>
SQL> var rc refcursor;
SQL>
SQL> exec pmt.mytable_proc(:rc, 'OK');
 
PL/SQL procedure successfully completed.
 
SQL> column lib format a20
SQL> print rc
 
        ID CLE                  LIB
---------- -------------------- --------------------
         0 OK                   OK
 
SQL> | 
Partager