title: ORA-00984 column not allowed here in PL/SQL procedure
body: <pre><code>create or replace procedure pro_enroll(sname_in IN varchar, cname_in IN varchar)
  as
  sno STUDENT.snum%type;
  begin
      SELECT snum INTO sno FROM STUDENT WHERE sname=sname_in;
      --dbms_output.put_line(sno || chr(9) || sname_in || chr(9) || cname_in);
      INSERT INTO ENROLLED(snum, cname) VALUES(sno, c_name_in);
  end pro_enroll;
  /
  
  SELECT * FROM ENROLLED;
  
  begin
  pro_enroll('M.Lee', 'CS448');
  pro_enroll('A.Smith', 'ENG320');
  end;
  /
  
  SELECT * FROM ENROLLED;
  </code></pre>
  
  <p>Why am I getting "ORA-00984 column not allowed here"?
  In ENROLLED:</p>
  
  <pre><code>CREATE TABLE ENROLLED
  (
  snum INTEGER NOT NULL,
  cname VARCHAR(30) NOT NULL,
  PRIMARY KEY (snum, cname),
  FOREIGN KEY (snum) REFERENCES STUDENT(snum),
  FOREIGN KEY (cname) REFERENCES CLASS(cname) 
  );
  </code></pre>