Bạn có thể cần một BẢNG TẠM THỜI TOÀN CẦU.
Trong Oracle, chúng được tạo một lần và sau đó khi được gọi ra, dữ liệu sẽ là riêng tư đối với phiên của bạn.
Liên kết Tài liệu Oracle
Hãy thử một cái gì đó như thế này ...
CREATE GLOBAL TEMPORARY TABLE temp_number
( number_column NUMBER( 10, 0 )
)
ON COMMIT DELETE ROWS;
BEGIN
INSERT INTO temp_number
( number_column )
( select distinct sgbstdn_pidm
from sgbstdn
where sgbstdn_majr_code_1 = 'HS04'
and sgbstdn_program_1 = 'HSCOMPH'
);
FOR pidms_rec IN ( SELECT number_column FROM temp_number )
LOOP
-- Do something here
NULL;
END LOOP;
END;
/