Sql PLS-00201:标识符';TYR';必须申报

Sql PLS-00201:标识符';TYR';必须申报,sql,cursor,Sql,Cursor,我在尝试用一个游标填充两个表时遇到问题。这是学期表和时间表。下面是代码。任何帮助都将不胜感激。谢谢 PS:我已经创建了创建序列dw_time_seq;并创建序列dw_term_seq declare Cursor c_term is select temprequestid, termdate, status, tempid, tempcoverid from term; begin for c_rec in c_term loop insert into dw

我在尝试用一个游标填充两个表时遇到问题。这是学期表和时间表。下面是代码。任何帮助都将不胜感激。谢谢

PS:我已经创建了创建序列dw_time_seq;并创建序列dw_term_seq

declare
  Cursor c_term is

  select temprequestid, termdate, status, tempid, tempcoverid
    from term;

begin
  for c_rec in c_term loop

    insert into dw_term values(
      dw_term_seq.nextval,
      c_rec.temprequestid,
      c_rec.termdate,
      c_rec.status,
      c_rec.tempid,
      c_rec.tempcoverid
    );

    insert into dw_time values(
      dw_time_seq.nextval,
      c_rec.tdate,
      c_rec.tweek,
      c_rec.tmonth,
      c_rec.tyear
    );
  end loop;
end;

假设错误为
PLS-00201:必须声明标识符“TYEAR”
,删除
c\u rec.TYEAR
c\u rec.TYEAR部分
tyear
是一个局部变量,而不是光标中的字段。

相应地,您得到的错误是-与文章标题相反-
PLS-00201:必须声明标识符“tyear”。这是因为变量
tyear
尚未声明。照此宣布

 declare
   tyear number;

   cursor c_term is ...

另外,读取
c_rec.tyear
的部分当然应该是这个变量
tyear

。。。。你到底有什么问题?我得到错误消息PLS-00201:必须声明标识符“TYEAR”