编译错误是因为你SQL语句中的表名用了参数,
CREATE PROCEDURE SP_MYSP(tablename in varchar2, condition in varchar2)
is 
  var_count numeric(12);
  type  RefCurT IS REF CURSOR; --游标变量
  RefCur RefCurT;
BEGIN
   Open RefCur For 'select count(*) from' ¦¦ TableName || 'where ...';
   fetch ...
   ...
用游标代替你的SQL语句,此处用了游标变量所以表名可以用参数