[문법]
LOOP 반복해야할 실행문장; EXIT WHEN 탈출조건; -- 탈출조건이 참 이라면 LOOP 를 탈출한다. END LOOP;
tbl_looptest_1 테이블에 행을 20000개 insert
create or replace procedure pcd_tbl_looptest_1_insert
(p_name IN tbl_looptest_1.name%type
,p_count IN number
)
is
v_bunho tbl_looptest_1.bunho%type := 0; -- 변수의 초기화
begin
LOOP
v_bunho := v_bunho + 1;
EXIT WHEN v_bunho > p_count; -- 탈출조건이 참 이라면 LOOP 탈출
insert into tbl_looptest_1(bunho, name)
values(v_bunho, p_name || v_bunho);
END LOOP;
end pcd_tbl_looptest_1_insert;
이름이 없는 프로시저로 tbl_looptest_1 테이블에 행을 30000개 insert
declare
v_bunho tbl_looptest_1.bunho%type := 0; -- 변수의 초기화
v_name Nvarchar2(10) := '차은우';
begin
LOOP
v_bunho := v_bunho + 1;
EXIT WHEN v_bunho > 30000; -- 탈출조건이 참이라면 LOOP 를 탈출
insert into tbl_looptest_1(bunho, name)
values(v_bunho, v_name || v_bunho);
END LOOP;
end;
[문법]
for 변수 in [reverse] 시작값..마지막값 loop 반복해야할 실행문장; end loop;
이름이 없는 프로시저로 tbl_looptest_1 테이블에 행을 40000개 insert
declare
v_name Nvarchar2(10) := '이혜리'; -- 변수의 선언 및 초기화
begin
for i in 1..40000 loop
insert into tbl_looptest_1(bunho, name) values(i, v_name || i);
end loop;
end;
[문법]
WHILE 조건 LOOP 반복해야할 실행문장; -- 조건이 참이라면 실행함. END LOOP; ```sql WHILE NOT 조건 LOOP 반복해야할 실행문장; -- 조건이 참이라면 반복문을 빠져나감. END LOOP;
이름이 없는 프로시저로 tbl_looptest_1 테이블에 행을 20000개 insert
declare
v_cnt number(5) := 1; -- 변수의 선언 및 초기화
v_name Nvarchar2(10) := '쫑쫑이';
begin
WHILE NOT (v_cnt > 20000) LOOP
insert into tbl_looptest_1(bunho, name)
values(v_cnt, v_name || v_cnt);
v_cnt := v_cnt + 1;
END LOOP;
end;
-> local_hr에서작업한것