Insert ¹®°ü·ÃÇÏ¿© SQLÁú¹®ÇÕ´Ï´Ù.

   Á¶È¸ 3378   Ãßõ 0    

 오라클에서


A 라는 회원테이블과 B라는 쿠폰테이블이 있습니다.


모든회원에게 쿠폰을 줄려고합니다

A라는 회원테이블의 모든 id를 B라는쿠폰테이블에 insert 해야하는데

건수가 너무많습니다.



insert를 어떻게돌려야할까요 ??

박지훈
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
s±èÁ¾È­z 2017-04
±âº»Àº insert select ÀÔ´Ï´Ù.

A Å×ÀÌºí µ¥ÀÌÅÍ°¡ º°µµÀÇ ÆÄÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ´Ù¸é bulk insert µµ ±¦ÂúÀº ¹æ¹ýÀ̱ä ÇÕ´Ï´Ù.
     
idÄ÷³°ª¸¸µû·Î³ÖÀ»¼öÀÕ³ª¿ä? °¨»çÇÕ´Ï´Ù. bulk insert ã¾Æº¸°Ù½À´Ï´Ù.
Áú¹®ÀÇ ³»¿ëÀÌ ¸íÈ®ÇÏÁö ¾Ê±º¿ä.

1. AÀÇ id¸¦ BÅ×ÀÌºí¿¡ insert ÇÏ´Â SQL¹®ÀÌ ¹«¾ùÀÎÁö¸¦ ¹°¾îº»°Í Àΰ¡¿ä?

2. ¾Æ´Ï¸é 1. ÀÇ ÀÛ¾÷À» Çϴµ¥ °É¸®´Â ½Ã°£À» ÁÙÀÏ ¹æ¹ýÀÌ ÀÖ´ÂÁö¸¦ Áú¹®ÇÑ°Í ÀÎÁö¿ä?
     
ÀüÀÚ 1¹øÀÌ ¸Â½À´Ï´Ù .  insert ÇÒ¼öÀÖ´Â SQL¹®ÀÌÀÖÀ»±î¿ä
          
¼­ºêÄõ¸®¸¦ ¾²¸é µË´Ï´Ù.(SQL¹®Àå ¾È¿¡ ¶Ç ´Ù¸¥ SQL¹®ÀåÀÌ µé¾î ÀÖ´Â °æ¿ì¸¦ ¼­ºêÄõ¸® ¶ó°í ºÎ¸¨´Ï´Ù.)

´ëÃæ ÀÌ·±½ÄÀÔ´Ï´Ù.
INSERT INTO B (XXX) VALUES (SELECT id FROM A);
               
SELECT ID FROM A ·Î ÇÏ¸é      ¿©·¯°³ÀÇ ID °¡ ³ª¿À´Âµ¥    INSERT INTO B (XXX) VALUES (SELECT id FROM A); ÀÌ·¸°Ô¸¸Çصµ ¿©·¯°³°¡ Àμ­Æ®°¡ µÇ³ª¿ä???
                    
WHERE ¸¦ ÁÖ°í Á¶°ÇÀ» Àû´çÈ÷ ºÙ¿©¼­ ÇÑ°³¸¸ ³ª¿Àµµ·Ï ó¸®ÇÏ¸é µÉÅ×°í..

±×°É ¿©·ÁÁÙ µ¹¸®¸é µË´Ï´Ù.
auto commit Àΰ¡ Ç®°í µ¹¸®¸é
±Ý¹æ µé¾î°¡Áö ¾Ê³ª¿ä ?
     
auto commit °Ë»öÇÏ°Ú½À´Ï´Ù.
Àϱ¹ 2017-04
Insert into B (mb_code,  cp_cnt)
As select mb_code, 1
        from A;
Commit;

B=ÄíÆùÅ×À̺í
A=ȸ¿øÅ×À̺í

ÀÌ·±½ÄÀ¸·Î ÇÏ¸é µÇÁö ¾ÊÀ»±î¿ä..
     
ÇÑ°ÇÀ̾ƴ϶ó 10¸¸°ÇÀÌ»óÀÏ °æ¿ì°¡ ±Ã±ÝÇÕ´Ï´Ù ¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð
          
Àϱ¹ 2017-04
Rollback segment ÃæºÐÇϸé
10¸¸°Ç Á¤µµ´Â ¹®Á¦°¡ ¾ÈµÉ°Å °°½À´Ï´Ù¸¸....
¸¸¾à Äõ¸® ½ÇÇà½Ã°£ÀÌ ±æ¾îÁö¸é
Àû´çÇÑ ´ÜÀ§·Î ÂÉ°³¼­ ½ÇÇàÇÏ½Ã¸é µÉ°Å °°¾Æ¿ä..

INSERT INTO B (MB_CODE, CP_CNT)
AS  SELECT MB_CODE, 1
        FROM ( SELECT ROWNUM RM
                                , MBCODE
                                , MBNAME
                        FROM A
                  )
      WHERE RM BETWEEN 10001 AND 19999;
Commit;

BETWEEN °ªÀ¸·Î ÂÉ°³¸é µÉ°Å °°½À´Ï´Ù.
ÀÚµ¿À¸·Î ÂÉ°³¼­ insert ÇÏ·Á¸é
Cursor »ç¿ëÇÏ¸é µÇ±¸¿ä..
               
°¨»çÇÕ´Ï´Ù!
¿À¿À ÇØ°á‰Ñ½À´Ï´Ù °¨»çÇÕ´Ï´Ù


QnA
Á¦¸ñPage 1950/5680
2015-12   1480765   ¹é¸Þ°¡
2014-05   4944029   Á¤ÀºÁØ1
2018-10   8076   ÇູÇϼ¼
2016-07   4159   ȸ¿øK
2015-07   5716   º´¸ÀÆù
2018-11   4087   ¹«¾Æ
2011-12   5064   ÃÖ¹ÎÀç
2014-03   18298   ÃÖÈñ
2015-07   7005   ÇϾá°í´Ï
2012-01   5600   ½ÂÈĴϵµÄì
07-14   989   Q8300
2012-01   7036   ÇÏ·çÄ«
07-17   1032   ³ª¶ó»ç¶û
2012-01   8089   À̺´ÇÑ
2014-03   4210   À̱⼮
2015-07   2798   °³Á¤ÆǸ¶ÄÉÆÃ
2016-08   3440   °¡¶÷ÀÌ´ç1
2017-08   3318   ±è½ÂÇö1
2021-04   2449   theÃ̳ð
2022-12   2290   ¹«¹ýÀÚ
2012-01   5414   »ßµ¹À̽½ÇÄÀÌ
2021-04   3294   ´ÙÀÌ´ÙÀÌ