3만개 정도 되는 인서트를 일일이 다 할 수 없다.
INSERT 반복문 같은 걸 처리하기 위한 언어
SET SERVEROUTPUT ON;
BEGIN
--CONSOLE.LOG, SYSTEM.OUT.PRINTLN();
DBMS_OUTPUT.PUT_LINE('hello1');
DBMS_OUTPUT.PUT_LINE('hello2');
END;
/
DECLARE
-- int V_NUM = 1234;
V_NUM NUMBER(4) := 1234;
-- String V-STR = "";
V_STR VARCHAR2(10);
BEGIN
V_STR := 'hello';
DBMS_OUTPUT.PUT_LINE('V_NUM :' || V_NUM);
DBMS_OUTPUT.PUT_LINE('V_STR:' || V_STR);
END;
/
PL/SQL에서는 더하기 대신 ||을 쓴다.
DECLARE
V_SCORE NUMBER := 85;
V_GRADE VARCHAR2(2) := 'B';
BEGIN
IF(V_SCORE >= 90) THEN
V_GRADE := 'A';
ELSIF (V_SCORE >= 80) THEN
V_GRADE := 'B';
ELSIF (V_SCORE >= 70) THEN
V_GRADE := 'C';
ELSE
V_GRADE := 'F';
END IF;
DBMS_OUTPUT.PUT_LINE('점수 : ' || V_SCORE || '등급 : ' || V_GRADE);
END;
/
DECLARE
V_NUM NUMBER := 3;
BEGIN
--for (int i = 0; i<= 9; i++)
FOR I IN 1..9 LOOP
DBMS_OUTPUT.PUT_LINE(V_NUM || '*' || I || '=' || V_NUM * i);
END LOOP;
END;
/
--조회하기
DECLARE
V_MEM MEMBER2%ROWTYPE;
--멤버2번에 있는 테이블 타입을 그대로 넣어달라
V_USERID MEMBER2.USERID%TYPE; -- VARCHAR2(30)
--멤버2번에 USERID에 타입을 그대로 넣어달라
BEGIN
-- SELECT * FROM 테이블명 WHERE 조건;
SELECT * INTO V_MEM FROM MEMBER2 WHERE USERID = 'a';
DBMS_OUTPUT.PUT_LINE(V_MEM.USERID);
DBMS_OUTPUT.PUT_LINE(V_MEM.USERNAME);
END;
/
DECLARE
V_MEM MEMBER2%ROWTYPE;
V_USERID MEMBER2.USERID%TYPE; -- VARCHAR2(30)
BEGIN
.
.
.
멤버2번에 있는 테이블 타입을 그대로 넣어달라
멤버2번에 USERID에 타입을 그대로 넣어달라
DECLARE
--변수 정의 CUR
CURSOR CUR IS (SELECT * FROM MEMBER2);
BEGIN
-- CUR만큼 반복
FOR TMP IN CUR() LOOP
DBMS_OUTPUT.PUT_LINE('USERID' || TMP.USERID);
END LOOP;
END;
/