-- ★☆★☆★ basic loop (FOR LOOP)
-- 1.숫자 1부터 20까지 출력하는데 for loop 문으로 구현해서 출력하시오.
SET SERVEROUTPUT ON -- default : serveroutput (dbms_output.put_line) 이 OFF 상태이다.
BEGIN
FOR i IN 1..20 LOOP
DBMS_OUTPUT.PUT_LINE('출력숫자 : ' || i );
END LOOP;
END;
/
-- 2. FOR .. LOOP 사용하여 구구단 6단을 출력하시오.
DECLARE
V_COUNT NUMBER(10) := 0;
BEGIN
FOR i IN 1..9 LOOP
V_COUNT := 6 * i;
DBMS_OUTPUT.PUT_LINE ( '6' || ' * ' || i || ' = ' || 6*i);
END LOOP;
END;
/
--3. FOR LOOP 을 중첩해서 구구단 2단 ~ 4단까지 출력하시오.
BEGIN
FOR i IN 2..4 LOOP
FOR j IN 1..9 LOOP
DBMS_OUTPUT.PUT_LINE( i || ' * ' || j || ' = ' || i*j);
END LOOP;
END LOOP;
END;
/
-- LPAD 함수: 좌측에 자리수 만큼 채워주는 함수
-- 사용법 : LPAD(변수, 길이, 변형자)
-- ex) SELECT LPAD('123',8,0) FROM DUAL
--4. TB_LS_EMP867 테이블을 생성하고 for 문을 이용해서 data를 입력하시오.
CREATE TABLE TB_LS_EMP867
( EMP_NO NUMBER(8), EMP_ID VARCHAR2(12) );
DECLARE
V_EMP_NO VARCHAR2(8):= 0;
V_EMP_ID VARCHAR2(12);
BEGIN
FOR i IN 1..20 LOOP
INSERT INTO TB_LS_EMP867(EMP_NO, EMP_ID)
VALUES (LPAD((i),8,0),'KOR-'|| LPAD((i),8,0));
END LOOP;
END;
/
SELECT * FROM TB_LS_EMP867;
--5. 프로시저를 만들어보자.
CREATE OR REPLACE PROCEDURE PR_ISRT_TAB_EMP
IS
BEGIN
DECLARE
V_EMP_NO VARCHAR2(8):= 0;
V_EMP_ID VARCHAR2(12);
BEGIN
FOR i IN 1..20 LOOP
INSERT INTO TB_LS_EMP867(EMP_NO, EMP_ID)
VALUES (LPAD((i),8,0),'KOR-'|| LPAD((i),8,0));
END LOOP;
END;
END;
/
EXEC PR_ISRT_TAB_EMP;
--EXECUTE PR_ISRT_TAB_EMP;
--CALL PR_ISRT_TAB_EMP;
SELECT * FROM TB_LS_EMP867;
'PL-SQL' 카테고리의 다른 글
PL/SQL (6) CURSOR, BASIC LOOP을 활용한 프로시저 만들어보기 (0) | 2017.03.24 |
---|---|
PL/SQL (5) 부서번호를 물어보게 하고 부서번호를 입력하면 해당 부서번호에 속한 사원들의 사원번호, 이름, 월급을 출력하는 예제 (0) | 2017.03.24 |
PL/SQL (4) ORA-01403: no data found 대처 SQL문 (EXCEPTIOIN) (0) | 2017.03.24 |
PL/SQL (3) 프로시저를 사용하여 다른테이블로 INSERT 예제 (0) | 2017.03.23 |
PL/SQL (2) WHILE.. LOOP , 예제 (0) | 2017.03.23 |