오라클에서
A 라는 회원테이블과 B라는 쿠폰테이블이 있습니다.
모든회원에게 쿠폰을 줄려고합니다
A라는 회원테이블의 모든 id를 B라는쿠폰테이블에 insert 해야하는데
건수가 너무많습니다.
insert를 어떻게돌려야할까요 ??
박지훈
오라클에서
A 라는 회원테이블과 B라는 쿠폰테이블이 있습니다.
모든회원에게 쿠폰을 줄려고합니다
A라는 회원테이블의 모든 id를 B라는쿠폰테이블에 insert 해야하는데
건수가 너무많습니다.
insert를 어떻게돌려야할까요 ??
A Å×ÀÌºí µ¥ÀÌÅÍ°¡ º°µµÀÇ ÆÄÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ´Ù¸é bulk insert µµ ±¦ÂúÀº ¹æ¹ýÀ̱ä ÇÕ´Ï´Ù.
1. AÀÇ id¸¦ BÅ×ÀÌºí¿¡ insert ÇÏ´Â SQL¹®ÀÌ ¹«¾ùÀÎÁö¸¦ ¹°¾îº»°Í Àΰ¡¿ä?
2. ¾Æ´Ï¸é 1. ÀÇ ÀÛ¾÷À» Çϴµ¥ °É¸®´Â ½Ã°£À» ÁÙÀÏ ¹æ¹ýÀÌ ÀÖ´ÂÁö¸¦ Áú¹®ÇÑ°Í ÀÎÁö¿ä?
´ëÃæ ÀÌ·±½ÄÀÔ´Ï´Ù.
INSERT INTO B (XXX) VALUES (SELECT id FROM A);
±×°É ¿©·ÁÁÙ µ¹¸®¸é µË´Ï´Ù.
±Ý¹æ µé¾î°¡Áö ¾Ê³ª¿ä ?
As select mb_code, 1
from A;
Commit;
B=ÄíÆùÅ×À̺í
A=ȸ¿øÅ×À̺í
ÀÌ·±½ÄÀ¸·Î ÇÏ¸é µÇÁö ¾ÊÀ»±î¿ä..
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 »ç¿ëÇÏ¸é µÇ±¸¿ä..