永发信息网

oracle 存储过程两个for循环 怎么写

答案:3  悬赏:40  手机版
解决时间 2021-03-01 01:51
  • 提问者网友:蓝莓格格巫
  • 2021-02-28 17:07
oracle 存储过程两个for循环 怎么写
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-02-28 17:28
这种情况必须定义行类型的变量来解决:
declare
row_data tb_student%ROWTYPE
for row_data in tb_student loop
update student st set st.class_name = row_data.class_name
where st.class_id = row_data.class_id
end loop;
但这样种循环更新效率确实很低,SQL是面向集合的运算,像你这种需求可以用一条更新SQL外加子查询来解决,不建议用循环来做。
全部回答
  • 1楼网友:玩世
  • 2021-02-28 18:30
oracle没有游标数组的概念。但是你可以定义动态游标,举个例子: declare bm number; zw varchar2(10); tt number; str varchar2(50); type cur_type is ref cursor; --定义游标类型
  • 2楼网友:何以畏孤独
  • 2021-02-28 18:01
你把loop  end loop;的层级写好,然后别少掉东西就可以了。 你每个循环的结果写好都会在这里显示,要是没有很可能就是少东西了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯