这种情况必须定义行类型的变量来解决: 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; --定义游标类型