Skip to content

批量提取游标数据

游标提取数据的方式除了逐行提取外,还可批量提取。

语法格式

sql
FETCH cursor_name BULK COLLECT INTO table_name;

示例

sql
DECLARE
  CURSOR cur IS
    SELECT * FROM test_cur;
  TYPE trow IS TABLE OF cur%ROWTYPE;
  otab trow;
BEGIN
  OPEN cur;
  FETCH cur BULK COLLECT INTO otab;
  CLOSE cur;
  FOR i IN 1 .. otab.COUNT LOOP
    SEND_MSG(otab(i).id || '|' || otab(i).name);
  END LOOP;
END;