RUVIDEO
Поделитесь видео 🙏

PLSQL SELECT, FETCH에서 BULK COLLECT INTO 사용하기, 오라클교육, SQL교육, JAVA교육, 오라클학원, SQL학원, 자바학원

PLSQL SELECT, FETCH에서 BULK COLLECT INTO 사용하기 실습 동영상 입니다.

강의자료 : http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=723

[BULK COLLECT INTO]
SELECT에서 BULK COLLECT INTO를 이용하면 여러건의 레코드를 한번에 읽어들여 속도를 향상 시킬 수 있으며, 커서에서도 FETCH를 하는 경우에도 한건씩 꺼내는것 보다 한번에 꺼낸다면 속도 향상에 도움이 될 수 있습니다. 물론 이 경우 읽어들이는 데이터에 따른 메모리 사용량은 고려 되어야 합니다.

BULK COLLECT INTO 다음에는 여러 레코드를 한번에 담을 수 있는 데이터 타입이 와야 하는데 PL/SQL의 TABLE 타입(일차원 배열)을 사용합니다.

다음과 같은 경우에 사용 가능 합니다.

SELECT 컬럼리스트 BULK COLLECT INTO 컬렉션
FETCH 커서명 BULK COLLECT INTO 컬렉션
EXECUTE IMMEDIATE 쿼리문자열 BULK COLLECT INTO 컬렉션

[실습]
set timing on
select * from myemp1;

-- 일반적인 FOR LOOP 커서 사용
declare
cursor emp_cur is select * from myemp1 where rownum &lt 400000;
tot number := 0;
emp_r myemp1%rowtype;
begin
open emp_cur;
loop
fetch emp_cur into emp_r;
exit when emp_cur%notfound;
tot := tot + emp_r.sal;
end loop;
dbms_output.put_line('tot : ' || tot);
close emp_cur;
exception
when others then
dbms_output.put_line(sqlerrm(sqlcode));
end;

-- SELECT절에서 BULK COLLECT INTO 사용하기
declare
type emp_r_array is table of myemp1%rowtype;
emp_table emp_r_array;
tot number := 0;
begin
select * bulk collect into emp_table
from myemp1
where rownum &lt 400000;

DBMS_OUTPUT.PUT_LINE('SQL%ROWCOUNT : ' || SQL%ROWCOUNT);

for i in emp_table.first..emp_table.last loop
tot := tot + emp_table(i).sal;
end loop;

dbms_output.put_line('tot : ' || tot);
exception
when others then
dbms_output.put_line(sqlerrm(sqlcode));
end;


-- FETCH에서 BULK COLLECT INFO 사용하기
create or replace procedure getEmp3
is
type empcurtype is ref cursor;
type empnolist is table of myemp1.empno%type;
type enamelist is table of myemp1.ename%type;

emp_cur empcurtype;
empnos empnolist;
enames enamelist;
begin
open emp_cur for 'select empno, ename from myemp1 where rownum &lt 1000';
fetch emp_cur bulk collect into empnos, enames;
for i in enames.first..enames.last loop
dbms_output.put_line(enames(i));
end loop;
close emp_cur;
end;
/
exec getEmp3;

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «PLSQL SELECT, FETCH에서 BULK COLLECT INTO 사용하기, 오라클교육, SQL교육, JAVA교육, 오라클학원, SQL학원, 자바학원», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.