2009. 3. 14. 03:43 Program.../Oracle
Oracle Procedure (loop, for loop)
--- ○ 반복문
create table irumtbl
(no number
,name varchar2(10)
) tablespace users; --- 테이블 생성
--- 1. loop 반복문
create or replace procedure p_irumtblins
(v_name in varchar, v_cnt in number)
is
v_no irumtbl.no%type := 0; --- 변수지정에서 := 을하면 초기치값을 넣어줄 수 있다.
begin
loop -- 반복문 시작 (loop)
v_no := v_no + 1;
insert into irumtbl values(v_no, v_name||v_no);
exit when v_cnt = v_no; -- 해당 조건이 맞으면 반복문을 빠져 나온다. (exit when)
end loop; -- 반복문 끝
end;
/
/* exec p_irumtblins('홍길동',10) */
select * from irumtbl;
---------------------------------------------------------------------------------------------
delete irumtbl;
--- 2. for loop 반복문
create or replace procedure p_irumtblins
(v_name in varchar, v_cnt in number)
is
begin
for a in 1..v_cnt loop
-- for 루프문 : for 변수 in 시작값..매개변수 loop
-- 시작값을 변수에 넣고 그 변수값이 1씩 증가시켜
-- 입력한 매개변수까지 해당 반복문 실행후 빠져나온다.
-- 여기서 in 다음에 reverse를 입력하게되면(for a in reverse 1..v_cnt loop)
-- 변수에 시작값부터 오는것이 아니라 매개변수값부터 넣어주고 1씩 감소시켜 실행한다.
insert into irumtbl values(a, v_name || a);
end loop;
end;
/
/* exec p_irumtblins('이순신',10) */
select * from irumtbl;
---------------------------------------------------------------------------------------------
delete irumtbl;
--- 3. while loop 반복문
create or replace procedure p_irumtblins
(v_name in varchar, v_cnt in number)
is
v_no irumtbl.no%type := 0;
begin
while v_cnt > v_no loop
-- while 조건 loop : 조건이 참이면 해당 반복문을 계속 실행하고 거짓이면 반복문을 나온다.
v_no := v_no + 1;
insert into irumtbl values(v_no, v_name || v_no);
end loop;
end;
/
/* exec p_irumtblins('엄정화',10) */
select * from irumtbl;
'Program... > Oracle' 카테고리의 다른 글
Oracle Procedure (Cursor, for loop Cursor) (0) | 2009.03.14 |
---|---|
Oracle Procedure (배열) (0) | 2009.03.14 |
Oracle Function (함수생성) (1) | 2009.03.14 |
Oracle PL(Procedure Language)/SQL (0) | 2009.03.14 |
Oracle Sequence (0) | 2009.03.14 |