I'm trying to declare a cursor. But I would like a certain parameter to be user input. However it is not compiled and displaying the following error : Code: 
DECLARE
  CURSOR currsor1 IN
    SELECT messid,
      studentname,
      messname
    FROM studentsmessdata
    WHERE messid = &messid; 


Error Message:
old:DECLARE
  CURSOR currsor1 IN
    SELECT messid,
      studentname,
      messname
    FROM studentsmessdata
    WHERE messid = &messid; 
new:DECLARE
  CURSOR currsor1 IN
    SELECT messid,
      studentname,
      messname
    FROM studentsmessdata
    WHERE messid = 1; 

Error starting at line 1 in command:
DECLARE
  CURSOR currsor1 IN
    SELECT messid,
      studentname,
      messname
    FROM studentsmessdata
    WHERE messid = &messid; 
Error report:
ORA-06550: line 2, column 19:
PLS-00103: Encountered the symbol "IN" when expecting one of the following:

   ( ; is return
The symbol "is was inserted before "IN" to continue.
ORA-06550: line 7, column 22:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:

   begin function pragma procedure subtype type <an identifier>
   <a double-quoted delimited-identifier> current cursor delete
   exists prior
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
