PL/SQL 使用变量调用游标

PL/SQL calling a cursor with a variable

我有 9 个不同的游标,带有不同的 sql 语句。

但是循环游标总是相同的。有没有可能不为循环写 9 个游标?

我的想法是

一个用于增加存储在变量中的游标名称的for循环

和游标 for 循环,变量 insteat 为游标名称。

但是没用

那是我的循环光标:

  FOR rec IN abgl2_cur LOOP
utl_file.putf(vFileHandle,
                '<s3>\n<%s> %s</%s>\n<%s>%s',
                c_grem,rec.gremium,c_grem,c_name,rec.name);
  utl_file.putf(vFileHandle,
                '</%s><%s>%s</%s>\n</s3>\n',
                c_name,c_id,rec.id,c_id);
  utl_file.fflush(vFileHandle);
END LOOP;

您需要将循环部分包装到一个 procedure/function 中,其中的参数将指向需要 运行 的光标。 然后只需使用不同的参数调用该过程 9 次。

如果您需要更多细节,您应该在此处添加一些代码。