title: Using bind variables in stored procedure PL/SQL
body: <p>I'm trying to write a stored procedure in Oracle using the following statements:</p>
  
  <pre><code>create or replace PROCEDURE UPD_INBOX 
      (tbl_inbox in VARCHAR2, tbl_rjc OUT VARCHAR2) 
  AS    
      CURSOR c1 IS
           select I.ROWID_IN, R.DESC || '-' || J.TIPO || ';' RECHAZO_DESC
             from DV.INBOX I, DV.REJECT R, DV.TIPO_RECHAZO J 
             where I.rowid_in = R.rowid_in
             and R.TIPO_R=J.TIPO_R;
         cRec c1%ROWTYPE;
      BEGIN
           UPDATE DV.INBOX set zError=0,zErrorDescription='';
           commit;
           OPEN c1;
           LOOP
              FETCH c1 INTO cRec;
              EXIT WHEN c1%NOTFOUND;
              UPDATE DV.INBOX SET ERROR=ERROR+1, Error_Desc=Error_Desc || cRec.REJTXT WHERE ROWID_IN=cRec.ROWID_IN;
           END LOOP;
         COMMIT;
        CLOSE c1;
  END;
  </code></pre>
  
  <p>But I have an error when compiling:</p>
  
  <p><code>:tbl_inbox</code> and <code>:tbl_rcj</code> aren't recognized as valid tables and have the error "PL 00049 Bad bind variables". Is it possible to do that properly?</p>
  
  <p>I tried substituting FROM clause for:</p>
  
  <pre><code>from :tbl_inbox I, :tbl_reject R, DV.TIPO_RECHAZO J
  </code></pre>
  
  <p>But have the error:</p>
  
  <pre><code>Error(7,5): PL/SQL: SQL Statement ignored
  Error(9,8): PL/SQL: ORA-00942: table or view does not exist
  </code></pre>
  
  <p>Edit: I post my entire code and works well. I'm just trying to set as parameter the name of tables that I was going to use each call to procedure. They aren't going to be the same. </p>