/**
--将相同分类下的知识分配到不同的分类下面
-- whwu2
*/
create or replace procedure test_pro --定义存储过程名
is
row_num number := 1; --变量的声明与赋初始值
total_num varchar2(1000); --变量的声明
tmp_kbcCode varchar2(1000);
CURSOR myCusor IS --游标的定义
select tt.kbccode from knowledgebase_category tt;
begin
WHILE row_num <= 3 LOOP
dbms_output.put_line('执行while循环'); ---打印一些调试信息
row_num := row_num +1;
END LOOP;
--------------方法的执行体------------------------------
select to_number(count(1)) into total_num from knowledge; --对 total_num 进行赋值
dbms_output.put_line('Total_num' || total_num); ---打印一些调试信息
open myCusor; --打开游标
loop
fetch myCusor
into tmp_kbcCode; --循环遍历游标,并把游标里面的值依次赋给 tmp_kbcCode
exit when myCusor%notfound;
if (row_num + 10) < total_num then
-- if 条件
update knowledge tt
set tt.kbccode = tmp_kbcCode
where tt.kcode in (select kcode
from (select t.kcode, rownum rn from knowledge t)
where rn >= row_num
and rn <= row_num + 10);
row_num := row_num + 10;
end if;
end loop;
commit;
end test_pro;
--将相同分类下的知识分配到不同的分类下面
-- whwu2
*/
create or replace procedure test_pro --定义存储过程名
is
row_num number := 1; --变量的声明与赋初始值
total_num varchar2(1000); --变量的声明
tmp_kbcCode varchar2(1000);
CURSOR myCusor IS --游标的定义
select tt.kbccode from knowledgebase_category tt;
begin
WHILE row_num <= 3 LOOP
dbms_output.put_line('执行while循环'); ---打印一些调试信息
row_num := row_num +1;
END LOOP;
--------------方法的执行体------------------------------
select to_number(count(1)) into total_num from knowledge; --对 total_num 进行赋值
dbms_output.put_line('Total_num' || total_num); ---打印一些调试信息
open myCusor; --打开游标
loop
fetch myCusor
into tmp_kbcCode; --循环遍历游标,并把游标里面的值依次赋给 tmp_kbcCode
exit when myCusor%notfound;
if (row_num + 10) < total_num then
-- if 条件
update knowledge tt
set tt.kbccode = tmp_kbcCode
where tt.kcode in (select kcode
from (select t.kcode, rownum rn from knowledge t)
where rn >= row_num
and rn <= row_num + 10);
row_num := row_num + 10;
end if;
end loop;
commit;
end test_pro;