【问题标题】:while executing below code it showing error在执行下面的代码时显示错误
【发布时间】:2013-09-16 06:46:38
【问题描述】:

这是我的 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:语句被忽略
06550. 00000 - “第 %s 行,第 %s 列:\n%s”
*原因:通常是 PL/SQL 编译错误。
*行动:

但我不知道它显示的位置和发生错误的位置。请任何人建议我。

【问题讨论】:

    标签: plsql cursor rowtype


    【解决方案1】:

    你的变量声明是错误的。

    由于您是单独选择和存储列,因此您应该使用%TYPE 属性声明它。

    m_no      emp.emp_no%type;
    m_name    emp.emp_name%type;
    m_address emp.address%type
    

    如果您使用单个变量来存储所有列,则使用%ROWTYPE 属性。

    m_emp emp%rowtype
    

    【讨论】:

      猜你喜欢
      • 2014-10-22
      • 2015-09-13
      • 1970-01-01
      • 2017-11-14
      • 2012-04-20
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多