Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

기록

PL/SQL 대량 INSERT 하기 / 다중 insert 쿼리 본문

DB

PL/SQL 대량 INSERT 하기 / 다중 insert 쿼리

9400 2023. 2. 1. 11:27
/*
--PL/SQL
--대전에 빨리 가려면? 뻐스타

packpage
user function
stored procedure 저장 프로시저
trigger
anonymous block 익명의 블록
*/



BEGIN 
    
    FOR I IN 701..900 LOOP
    INSERT INTO LPROD(LPROD_ID, LPROD_GU, LPROD_NM)
    VALUES(I,'P'||TRIM(TO_CHAR(I,'000')),'쵼이'||I);
    END LOOP;
    COMMIT;
END;
/

--32로 032로..
SELECT 'P'||TRIM(TO_CHAR(32,'000')) FROM SYS.DUAL;
--123을 P1234으로...

 

--200행을 pl/sql을 사용하여 insert해보자
DECLARE
    BOOK_ID NUMBER;
BEGIN 
    SELECT NVL(MAX(BOOK_ID),0)+1 INTO BOOK_ID
    FROM BOOK;

    FOR I IN BOOK_ID..BOOK_ID+200 LOOP 
    INSERT INTO BOOK(BOOK_ID,TITLE,CATEGORY,PRICE,INSERT_DATE,CONTENT)
    VALUES(I,'쵸니글로리'||I,'드라마',12000,SYSDATE,'내용'||I);
END LOOP;
COMMIT;
END;

 

INSERT ALL 
INTO CAR(CAR_NUM, MNF_NUM, DT, DIST, CUS_NUM)
VALUES('123','AD1232','2022-12-01',3333,'CUS001')
INTO CAR(CAR_NUM, MNF_NUM, DT, DIST, CUS_NUM)
VALUES('333','AC4432','2021-12-01',7777,'CUS001')
SELECT * FROM DUAL;
   <update id="createPostcar" parameterType="java.util.List">
      <foreach collection="list" item="carVO" open="INSERT ALL" close="SELECT * FROM DUAL" separator=" " >
      INTO CAR(CAR_NUM, MNF_NUM, DT, DIST, CUS_NUM)
         VALUES (#{carVO.carNum},#{carVO.mnfNum},#{carVO.dt},#{carVO.dist},#{carVO.cusNum})
      </foreach>
   </update>

'DB' 카테고리의 다른 글

CUS 기본키 생성하기 (쿼리)  (0) 2023.02.06
DB 테이블 다수리 테이블 짜기  (0) 2023.02.03
특정 컬럼에 "S_" 붙이기  (0) 2023.01.31
DB 오라클 JOIN, ANSI JOIN  (0) 2023.01.31
insert all  (0) 2023.01.30
Comments