尝试使用一个游标填充两个表时遇到问题。它是Term表和时间表。下面是代码。任何帮助都会非常感激。感谢
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;
答案 0 :(得分:0)
假设错误为PLS-00201: identifier 'TYEAR' must be declared
,请移除c_rec.
的{{1}}部分。 c_rec.tyear
是局部变量,而不是光标中的字段。
答案 1 :(得分:0)
顺便说一句,你得到的错误是 - 与帖子的标题 - PLS-00201: identifier 'TYEAR' must be declared
相矛盾。这是因为尚未声明变量tyear
。声明就像这样
declare
tyear number;
cursor c_term is ...
此外,阅读c_rec.tyear
的部分当然应该只是变量tyear
。