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

我请问下,oracle 存储过程两个for循环 怎么写
最新回答
我咋那么萌捏

2024-09-23 01:08:01

这种情况必须定义行类型的变量来解决:
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外加子查询来解决,不建议用循环来做。
世俗如浮云

2024-09-23 00:00:37

oracle没有游标数组的概念。但是你可以定义动态游标,举个例子: declare bm number; zw varchar2(10); tt number; str varchar2(50); type cur_type is ref cursor; --定义游标类型