我必须获取大容量记录并使用循环将其插入表中 我有点困惑如何使用循环来获取和插入记录。下面我分享了到目前为止的工作。
declare
stud_Id varchar;
begin
stud_Id := select student_id from student_backup where is_active_flg ='Y';
for i in 1 ..stud_Id.count
loop
insert into users(student_id,password,status) values(stud_Id(i),'password','status')
where not exists (select student_id from users where student_id=stud_Id(i))
end loop;
commit;
end;
/
答案 0 :(得分:0)
您可以使用以下内容:
declare
stud_Id student_backup.student_id%type;
begin
select nvl(max(student_id),0) into stud_Id
from student_backup
where is_active_flg ='Y';
if stud_Id >0 then
for i in 1 ..stud_Id
loop
insert into users(student_id,password,status)
select b.student_id,'password','status'
from student_backup b
left join users u on b.student_id = u.student_id
where is_active_flg ='Y'
and b.student_id = i;
end loop;
end if;
commit;
end;
/
P.S。如果我了解您要执行的操作,则无需在一开始就使用for循环(包括if语句)和select语句,而是通过删除{{1 }}。 因此,将您的代码块转换为以下代码:
and b.student_id = i
答案 1 :(得分:0)
阿卜杜勒
我认为您正在搜索以下内容:
['https://www.example.com/blog/author/abc/page/2/',
'https://www.example.com/blog/author/abc/page/3/',
'https://www.example.com/blog/author/abc/page/4/']
希望,这将很有用。