Plsql 当执行下面的代码时,它显示错误

Plsql 当执行下面的代码时,它显示错误,plsql,cursor,rowtype,Plsql,Cursor,Rowtype,这是我的pl/sql程序: declare m_no emp.emp_no%rowtype; m_name emp.emp_name%rowtype; m_address emp.address%rowtype; cursor raju is SELECT emp_no, emp_name, address from emp; begin open raju; lo

这是我的pl/sql程序:

 declare
   m_no      emp.emp_no%rowtype;
   m_name    emp.emp_name%rowtype;
   m_address emp.address%rowtype;
   cursor raju is 
     SELECT emp_no,
            emp_name,
            address 
       from emp;
 begin
   open raju;
   loop
     fetch raju 
      into m_no,
           m_name,
           m_address;
     dbms_output.put_line(m_no ||''||m_name||''||m_address);
     EXIT WHEN raju%notfound;
   end loop;
   close raju;
 end;
在执行上述代码时,我得到一个错误

错误报告:
ORA-06550:第2行第6列:
PLS-00310:对于%ROWTYPE属性,“EMP.EMP_NO”必须命名一个表、游标或游标变量
ORA-06550:第2行第6列:
PL/SQL:已忽略项
ORA-06550:第3行第8列:
PLS-00310:对于%ROWTYPE属性,“EMP.EMP_NAME”必须命名一个表、游标或游标变量
ORA-06550:第3行第8列:
PL/SQL:已忽略项
ORA-06550:第4行第11列:
PLS-00310:对于%ROWTYPE属性,“EMP.ADDRESS”必须命名一个表、游标或游标变量
ORA-06550:第4行第11列:
PL/SQL:已忽略项
ORA-06550:第10行第18列:
PLS-00320:此表达式类型的声明不完整或格式不正确
ORA-06550:第10行第2列:
PL/SQL:SQL语句被忽略
ORA-06550:第11行第23列:
PLS-00320:此表达式类型的声明不完整或格式不正确
ORA-06550:第11行第2列:
PL/SQL:语句被忽略
655000000-“行%s,列%s:\n%s”
*原因:通常是PL/SQL编译错误。
*行动:


但我不知道它在哪里显示,在哪里出错。有人给我推荐吗

您的变量声明错误

因为要分别选择和存储列,所以应该使用属性声明它

m_no      emp.emp_no%type;
m_name    emp.emp_name%type;
m_address emp.address%type
如果使用单个变量存储所有列,则使用属性

m_emp emp%rowtype