其他不熟悉引用游标的同事可以借鉴一下:
-- 定义游标类型,类型必须为ref cursor
DECLARE
TYPE ref_cursor_type IS REF CURSOR;
my_cursor ref_cursor_type;
sql_str VARCHAR2(1000);
TYPE user_record IS RECORD(
user_id NUMBER,
user_name VARCHAR2(255));
user_rec user_record;
BEGIN
sql_str := ' Select su.user_id,su.user_name From sm_user su Where su.organization_id = 10';
OPEN my_cursor FOR sql_str;
LOOP
FETCH my_cursor
INTO user_rec;
EXIT WHEN my_cursor%NOTFOUND;
-- 此处编写处理逻辑
dbms_output.put_line(user_rec.user_name);
--
END LOOP;
-- 关闭游标
CLOSE my_cursor;
END;
-- 定义游标类型,类型必须为ref cursor
DECLARE
TYPE ref_cursor_type IS REF CURSOR;
my_cursor ref_cursor_type;
sql_str VARCHAR2(1000);
TYPE user_record IS RECORD(
user_id NUMBER,
user_name VARCHAR2(255));
user_rec user_record;
BEGIN
sql_str := ' Select su.user_id,su.user_name From sm_user su Where su.organization_id = 10';
OPEN my_cursor FOR sql_str;
LOOP
FETCH my_cursor
INTO user_rec;
EXIT WHEN my_cursor%NOTFOUND;
-- 此处编写处理逻辑
dbms_output.put_line(user_rec.user_name);
--
END LOOP;
-- 关闭游标
CLOSE my_cursor;
END;