lecture Home > ASP ¿Í ADO > ActiveX Data Object

ActiveX Data Object 2.5 and over

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2002³â 08¿ù 28ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2002³â 08¿ù 28ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Taeyo(±è Å¿µ)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : ÀúÀå ÇÁ·Î½ÃÀú (I)

°­Á Àü Å¿ÀÀÇ Àâ´ã>

ÀÌ °­Á´ ASP³ª ASP.NETÀ» ´Ù·ç·Á´Â °³¹ßÀÚµéÀÌ µ¥ÀÌÅͺ£À̽º¿Í °ü·ÃÇÏ¿© ¹Ýµå½Ã ¾Ë°íÀÖ¾î¾ß ÇÒ ºÎºÐÁß¿¡ ÇϳªÀÎ Stored Procedure ¿¡ ´ëÇÑ À̾߱âÀÔ´Ï´Ù. »ç½Ç, ÀÌ ³»¿ëÀº Taeyo's Advanced ASP(Á¤º¸¹®È­»ç)¿¡ Á¸ÀçÇÏ´Â ³»¿ëÀÔ´Ï´Ù¸¸ ¿©·¯ºÐÀÌ ADO.NETÀ» Á¢Çϱâ Àü¿¡ ¸ÕÀú ¾Ë¾ÆµÎ¾î¾ß ÇÒ °Í°°±â¿¡ ¿Ã¸³´Ï´Ù. ASP.NET Ã¥À» ÁغñÇÏ´Ùº¸´Ï ÀÌ Á¤µµÀÇ ³»¿ëÀº Ã¥¿¡ ¾²±â º¸´Ù °­Á·Π¿Ã·Á¼­ ¸¹Àº ºÐµéÀÌ º¸½Ç ¼ö ÀÖ°Ô ÇÏ´Â °Ô ¹Ù¶÷Á÷ÇØ¼­.. ´Ê¾úÁö¸¸... ÀÌÁ¦¾ß ¿Ã¸³´Ï´Ù ^^


°­Á ½ÃÀÛ >

³»Àå ÇÁ·Î½ÃÁ®´Â º¹ÀâÇÑ SQL ¹®À» ´Ü¼øÈ­ ½ÃÄÑÁÖ°í, º¸¾ÈÀûÀÎ ¹®Á¦µµ ÇØ°áÇØ ÁÖ´Â ¿ªÇÒÀ» Çϸç, ¸Å¿ì ºü¸¥ ¼º´ÉÀ» ÀÚ¶ûÇÑ´Ù. ÀÌ´Â º¹ÀâÇÑ Äõ¸®µéÀ» ¸ð¾Æ¼­ ÇϳªÀÇ ÇÁ·Î½ÃÁ®·Î ó¸®ÇÒ ¼ö ÀÖÀ¸¸ç, ±×¿¡ µû¸¥ 󸮰á°ú¸¦ µ¹·ÁÁÖ´Â Çü½ÄÀ» ÃëÇÑ´Ù.

¿äÁò µé¾î ¸¹Àº ASP ¹®¼­µé¿¡¼­ ½ºÅä¾îµå ÇÁ·Î½ÃÁ®ÀÇ »ç¿ëÀ» ±ÇÀ¯Çϰí ÀÖ´Ù.(¹°·Ð, ¿¹ÀüºÎÅÍ ±×·¡¿À±â´Â Çß´Ù) ±×·¸´Ù¸é, ±×Åä·Ï ½ºÅä¾îµå ÇÁ·Î½ÃÁ®ÀÇ »ç¿ëÀ» ±ÇÀ¯ÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀϱî? À̸¦ »ç¿ëÇÒ °æ¿ì ¾î¶°ÇÑ ÀåÁ¡ÀÌ Àֱ⿡ À̸¦ »ç¿ëÇ϶ó°í ±×Åä·Ï À̾߱âÇÏ´Â °ÍÀϱî? ±× Áß¿äÇÑ ÀÌÀ¯ Áß¿¡ Çϳª´Â ¼ÓµµÀÌ´Ù. À¥À» ´Ù·ç´Â ¿ì¸®¿¡°Ô ¾ðÁ¦³ª ÀǽÄÇÒ ¼ö ¹Û¿¡ ¾ø´Â °ÍÀÌ ¼Óµµ¶ó´Â °ÍÀº µÎ¸»ÇÒ Çʿ䰡 ¾øÀ» °ÍÀÌ´Ù. À¥ »çÀÌÆ®°¡ °¥¼ö·Ï ´À·ÁÁö´Â ÀÌÀ¯ Áß¿¡ Çϳª´Â(Çϵå¿þ¾îÀûÀ¸·Î´Â ¹®Á¦°¡ ¾ø´Ù°í °¡Á¤ÇßÀ» ¶§) »çÀÌÆ®¿¡ ¸¹Àº µ¥ÀÌÅͰ¡ ÃàÀûµÇ¾îÁü¿¡ µû¶ó, ±× µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â µ¥¿¡ µå´Â ½Ã°£ÀÌ ´Ã¾î³ª±â ¶§¹®ÀÌ´Ù. ¹°·Ð, °¥¼ö·Ï ¸¹Àº »ç¿ëÀÚµéÀÌ ±×·¯ÇÑ µ¥ÀÌÅÍÀÇ Ã³¸®¸¦ ¿ä±¸Çϱ⠶§¹®À̱⵵ ÇÏ°í ¸»ÀÌ´Ù. ¾î¶µç °¥¼ö·Ï ¹æ´ëÇØÁö´Â µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â µ¥¿¡ µå´Â ¼Óµµ´Â °¥¼ö·Ï ¶³¾îÁú °ÍÀ̱⿡, ¿ì¸®´Â ÀÌ ºÎºÐ¿¡ ¹Î°¨ÇÏ°Ô ¹ÝÀÀÇÒ ¼ö ¹Û¿¡ ¾ø´Ù. ¹°·Ð, ¿ì¸®°¡ ºÎÀ¯ÇÏ´Ù¸é ÃÖ°íÀÇ Àåºñ¸¦ °®Ã߾ ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼öµµ ÀÖ°ÚÁö¸¸, ´ëºÎºÐÀÇ °æ¿ì ±×·² ¼ö°¡ ¾ø´Â Çö½ÇÀÌ´Ù.

±×¸®°í, °³¹ßÀڷμ­ÀÇ ÀÚÁ¸½ÉÀÌ ±×·¸°Ô ¸ðµç °ÍÀ» µ·À¸·Î ÇØ°áÇÏ°Ô ³öµÎÁö´Â ¸øÇÒ °ÍÀ̱⿡ ÇÁ·Î±×·¡¹Ö¸¸À¸·Î ¼º´ÉÀÇ Çâ»óÀ» ³ôÀÏ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ´Ù¸é ±× ¾î¶°ÇÑ ½Ãµµµµ Áö³ªÃļ­´Â ¾ÈµÉ °ÍÀÌ´Ù. À¥ »çÀÌÆ®ÀÇ ¼Óµµ ÀúÇÏ ¿øÀÎÁß¿¡ °¡Àå Å« ÀÌÀ¯´Â µ¥ÀÌÅÍÀÇ Ã³¸®¼ÓµµÀÇ ÀúÇÏÀÌ´Ù. ±×·¸´Ù¸é, µ¥ÀÌÅÍÀÇ Ã³¸®¼Óµµ¸¦ Á¶±ÝÀÌ¶óµµ Áõ°¡½Ãų ¼ö ÀÖ´Ù¸é À¥ »çÀÌÆ®ÀÇ ¼Óµµµµ Áõ°¡ÇÒ °ÍÀ̶ó´Â °ÍÀº ´ç¿¬ÇÏ´Ù. ¹Ù·Î ±×·¯ÇÑ ÀÌÀ¯¿¡¼­µµ ÀÌ ½ºÅä¾îµå ÇÁ·Î½ÃÁ®´Â ÇʼöÀûÀ¸·Î »ç¿ëÇÒ¸¸ÇÑ ¹æ¹ýÀÎ °ÍÀÌ´Ù.

ÀúÀå ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇÒ °æ¿ì¿¡´Â ÀÏ¹Ý SQL ¹®À» »ç¿ëÇÒ °æ¿ìº¸´Ù ¶Ù¾î³­ ¼ÓµµÀÇ Çâ»óÀ» °¡Á®¿Ã ¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ Ç¥´Â ÀÏ¹Ý SQL ¹®°ú ÀúÀå ÇÁ·Î½ÃÁ®°£ÀÇ ºñ±³ÀÌ´Ù. ÀÌ ºñ±³¸¦ ÅëÇØ ¿Ö ÀúÀå ÇÁ·Î½ÃÁ®°¡ ´õ ºü¸¦ ¼ö ÀÖ´ÂÁö ¿©·¯ºÐÀº ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

  ÀÏ¹Ý SQL ±¸¹® ÀúÀå ÇÁ·Î½ÃÀú
¸¸µé ¶§ 1. Ű¿öµå ºÐ¸® ¹× ¹®¹ý °Ë»ç(ÆÄ½ÌÀÛ¾÷)
2. °¢ °³Ã¼ÀÇ À̸§À» È®ÀÎ
3. ±ÇÇÑ ¹× º¸¾ÈÀÇ Á¡°Ë
4. ¿ÉƼ¸¶ÀÌ¡ (ÃÖÀûÈ­½ÃŲ´Ù)
5. ÄÄÆÄÀÏÀÇ ½ÇÇà
1. Ű¿öµå ºÐ¸® ¹× ¹®¹ý °Ë»ç(ÆÄ½ÌÀÛ¾÷)
2. °¢ °³Ã¼ÀÇ À̸§À» È®ÀÎ
3. ±ÇÇÑ ¹× º¸¾ÈÀÇ Á¡°Ë
4. ¿ÉƼ¸¶ÀÌ¡ (ÃÖÀûÈ­½ÃŲ´Ù)
5. °á°ú¸¦ ¼­¹ö¿¡ ÀúÀå
óÀ½ ½ÇÇà ½Ã ÄÄÆÄÀÏµÈ °ÍÀ» ½ÇÇàÇÑ´Ù. ÄÄÆÄÀÏÇϰí, À̸¦ ¾î¶»°Ô ½ÇÇàÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ ½ÇÇà°èȹÀ» ¸¸µé¾î ij½¬¿¡ ÀúÀåÇÏ°í ³­ µÚ ½ÇÇàÇÑ´Ù.
ÀÌÈÄ ½ÇÇà ½Ã À§ÀÇ µÎ °úÁ¤À» ´Ù½Ã ¶Ç ¼öÇà ij½¬¸¦ È®ÀÎÇØ¼­ ÀÌ¹Ì ½ÇÇà°èȹÀÌ ÀÖ´Ù¸é ±×¸¦ »ç¿ëÇϸç, ij½¬¿¡ ½ÇÇà°èȹÀÌ ¾ø´Ù¸é À§ÀÇ °úÁ¤À» ¼öÇàÇÑ´Ù.

¹¹°¡ Â÷À̰¡ ÀÖ´Ù´Â °ÍÀÎÁö ÀÌÇØ°¡ Àß ¾È°¡´Â°¡? ±×·¸´Ù¸é À¯½ÉÈ÷ º¸Áö ¾Ê¾Æ¼­ ±×·² °ÍÀÌ´Ù. ´Ù½Ã Çѹø ÀÚ¼¼È÷ »ìÆìº¸ÀÚ. ºÐ¸íÇÑ Â÷À̰¡ ÀÖ´Ù. ÀÏ¹Ý SQL ±¸¹®ÀÇ °æ¿ì´Â ½ÇÇàÇÒ ¶§¸¶´Ù ¾ðÁ¦³ª ÆÄ½ÌÀÛ¾÷, °³Ã¼,º¸¾ÈÈ®ÀÎ ÀÛ¾÷, ÄÄÆÄÀÏ ÀÛ¾÷À» ¹Ýº¹ÇÏ°Ô µÈ´Ù. ÇÏÁö¸¸, ½ºÅä¾îµå ÇÁ·Î½ÃÁ®´Â óÀ½¿¡¸¸ ´Ü Çѹø ±× ÀÛ¾÷À» ¼öÇàÇϰí, ±×¿¡ ´ëÇÑ ¸ðµç »çÇ×À» ij½¬¿¡ ¿Ã·Á³õ°Ô µÈ´Ù. ÇØ¼­ ÀÌÈÄ ½ÇÇà½Ã¿¡´Â ÆÄ½ÌÀÛ¾÷, °³Ã¼, º¸¾ÈÈ®ÀÎ ÀÛ¾÷, ÄÄÆÄÀÏ ÀÛ¾÷Àº ÇÊ¿äÇÏÁö ¾ÊÀº °ÍÀÌ´Ù.

À¥°ú °°ÀÌ ¼ö¸¹Àº »ç¿ëÀÚ°¡ °°Àº Äõ¸®¸¦ ¼öµµ ¾øÀÌ ¿äûÇÏ´Â °æ¿ì¸¦ »ý°¢ÇØ º¸¶ó. ¸Å¹ø "ÆÄ½ÌÀÛ¾÷, °³Ã¼,º¸¾ÈÈ®ÀÎ ÀÛ¾÷, ÄÄÆÄÀÏ ÀÛ¾÷"À» ¹Ýº¹ÇÏ´Â °Í°ú, ´Ü Çѹø¸¸ À̸¦ ¼öÇàÇϰí ÀÌÈĴ ij½¬¿¡¼­ °¡Á®¿Í¼­ ºü¸£°Ô ¼öÇàÇÏ´Â °Í°ú´Â ´ë´ÜÇÑ Â÷À̰¡ »ý±æ °ÍÀÌ´Ù. »çÀÌÆ®ÀÇ ±Ô¸ð¿¡ µû¶ó ¿¹»óÄ¡µµ ¾ÊÀº ¼º´ÉÀÇ Çâ»óÀ» °¡Á®¿Ã ¼öµµ ÀÖ´Ù.

±× »ÓÀÌ ¾Æ´Ï´Ù. ASP¿¡¼­ ADO¸¦ ÅëÇØ¼­ µ¥ÀÌÅͺ£À̽º¿¡ ¸í·ÉÀ» ³¯¸®´Â °æ¿ì , ±× ¸í·É¶óÀÎÀÇ ±æÀ̰¡ ±æ¼ö·Ï ´õ ¸¹Àº Å©±âÀÇ µ¥ÀÌÅ͸¦ ¼­¹ö·Î Àü¼ÛÇØ¾ß Çϱ⿡ ³×Æ®¿÷ÀÇ Æ®·¡Çȵµ ´Ã¾î³ª°Ô µÈ´Ù. ±× ¸í·É¹®ÀÇ ±æÀ̰¡ ªÀ¸¸é ªÀ»¼ö·Ï Æ®·¡ÇÈÀº ÁÙ¾îµé °ÍÀÌ°í ¸»ÀÌ´Ù. "¿¡ÀÌ.. ¸î ±ÛÀÚ³ª µÈ´Ù°í ±×·¡?" ÇÒÁö ¸ð¸£°ÚÁö¸¸ À̰ÍÀº ±×³É ¿ôÀ¸¸ç ³Ñ±æ Á¤µµÀÇ ¹®Á¦°¡ ¾Æ´Ï´Ù.

±Û ÁýÇʽÃÀÇ ÃÖ°í À̽´ »çÀÌÆ®ÀÎ ¸ð±³»ç¶û(ILoveSchool.co.kr)ÀÇ °æ¿ì µ¿½Ã »ç¿ëÀÚ°¡ 5¸¸¸í¿¡ À̸£¸¥´Ù°í ÇÑ´Ù. ±×·¸´Ù¸é Äõ¸®¹®ÀÇ ÇÑ, µÎ±ÛÀÚÀÇ Â÷ÀÌ´Â 5¸¸±ÛÀÚ, 10¸¸±ÛÀÚÀÇ Â÷ÀÌ·Î ´Ã¾î³ª°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌÁ¦µµ ¿ôÀ» ¼ö ÀÖÀ»±î? ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇϸé ÀÌ ±ä SQL ±¸¹®ÀÌ ÇÁ·Î½ÃÁ® ³»ºÎ·Î µé¾î°¡°Ô µÇ±â¿¡ ÀÌ Æ®·¡ÇÈ ¶ÇÇÑ ÁÙÀÏ ¼ö ÀÖ´Ù.

ÀÌÁ¦´Â ¸¾¿¡ µé °ÍÀ̸ç, ¸¶±¸ »ç¿ëÇÏ°í ½Í¾îÁú °ÍÀÌ´Ù.

°Å±â´Ù°¡ ´ÙÀ½°ú °°Àº Ãß°¡ÀûÀÎ ÀÌÀ͵µ ÀÖÀ¸´Ï À̸¶Àú µè°í³ª¸é ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇÏÁö ¾Ê°í´Â ¸ø ¹è±æ °ÍÀÌ´Ù. ±×°ÍÀº ¹Ù·Î º¸¾ÈÀûÀÎ ÀÕÁ¡ÀÌ´Ù. ÀÌÁ¦´Â Àͼ÷ÇØÁ®¹ö¸° ASP Security HoleÀ» ¿©·¯ºÐÀº ¾Ë°í °è½Ç °ÍÀÌ´Ù. ÀÏ¸í ¹éµµ¾î¶ó°í ºÒ¸®¿ì´Â ASP ¼Ò½º¸¦ ÈÉÃĺ¼ ¼ö ÀÖ´Â ¹æ¹ý¸»ÀÌ´Ù. ¸¸ÀÏ, ¿©·¯ºÐÀÌ ASP ÆäÀÌÁö¿¡¼­ ÀÏ¹Ý SQL ±¸¹®À» »ç¿ëÇÏ¿© ÆäÀÌÁö¸¦ ±¸¼ºÇÏ¿´´Ù¸é, ÀÌ ¹éµµ¾î°¡ ¿ÀÇ嵃 °æ¿ì ÀÌ Äõ¸®´Â ¸ðµÎ ³ëÃâµÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸, ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇÑ´Ù¸é ¸ðµç SQL ¹®Àº ÇÁ·Î½ÃÁ® ³»ºÎ·Î ¼û¾îÀֱ⿡, ´ÜÁö ÇÁ·Î½ÃÁ®ÀÇ À̸§¸¸ÀÌ ³ëÃâµÉ »Ó, ¾È½É¼³°èÀÏ ¼ö ÀÖ´Â °ÍÀÌ´Ù.

±×·¸´Ù. ÀúÀå ÇÁ·Î½ÃÁ®ÀÇ »ç¿ëÀº ¿©·¯¸ð·Î ¿ì¸®¿¡°Ô À¯¿ëÇÏ´Ù. ±×·¸´Ù¸é, ÀÌ·± ±âºÐÁÁÀº ´À³¦À¸·Î À̸¦ °øºÎÇØº¸µµ·Ï ÇÏÀÚ. SQL ¼­¹ö BOOKS ONLINE(SQL ¼³Ä¡ÇÏ¸é °°ÀÌ ¼³Ä¡µÇ´Â µµ¿ò¸») À̳ª SQL ¼­¹öÃ¥¿¡¼­ ÀÌ ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ ¸¸µå´Â ±¸¹®À» »ìÆìº¸¸é ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.

CREATE PROC[EDURE] procedure_name [;number]
    [
        {@parameter data_type} [VARYING] [= default] [OUTPUT]
    ]
    [,...n]
[WITH
    {
        RECOMPILE
        | ENCRYPTION
        | RECOMPILE, ENCRYPTION
    }
]
[FOR REPLICATION]
AS
    sql_statement [...n]

¿À¿À... ´ë´ÜÈ÷ ¾î·Á¿ö º¸ÀδÙ. µ¥ÀÌÅͺ£À̽º¸¦ Àü¹®À¸·Î ÇÏÁö ¾Ê´Â ÇÑ, °¢°¢ÀÇ ÀÎÀÚµéÀÌ ¾îµð¿¡ ¾î¶»°Ô ¾²ÀÌ´ÂÁö ¸ðµÎ ±â¾ïÇϰí ÀÖ±â´Â ¾î·Á¿ï °ÍÀÌ´Ù. ÀÌ ±¸¹®¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »çÇ×Àº ¾ÈŸ±õ°Ôµµ ¿©±â¼­ ¸ðµÎ ´Ù·ê ¼ö´Â ¾ø´Ù. ÀÌ Ã¥Àº ASP Ã¥À̸ç, ±× º»ºÐÀ» ´ÙÇÏ°í ½Í±â ¶§¹®ÀÌ´Ù. ´õ¿í ÀÚ¼¼ÇÑ »çÇ×Àº SQL ¼­¹ö Ã¥À» »ìÆìº¸¼Å¾ß ÇÒ °ÍÀÌ´Ù.(BOOKS ONLINEµµ ÁÁ´Ù) ±×·¸±â¿¡ ´õ¿í ÀÚ¼¼ÇÑ ºÎºÐµé¿¡ ´ëÇØ¼­´Â ¿©·¯ºÐÀÌ Â÷ÈÄ ½Ã°£ÀÌ ³¯ °æ¿ì¿¡ ½º½º·Î ÇнÀ¹ýÀ» ÅëÇØ¼­ ½ÀµæÇϽñ⸦ ¹Ù¶ó¸ç, ¿ì¸®´Â ÀÌ Ã¥¿¡¼­ ÇÊ¿äÇÑ Á¤µµÀÇ ¼öÁظ¸À» °°ÀÌ ÇØ º¸·Á ÇÑ´Ù. (Á» ´õ Áß±Þ °³¹ßÀÚ°¡ µÇ±â À§Çؼ­´Â SQL ¼­¹ö´Â ¾Æ´Ï´õ¶óµµ ¶ÇÇÑ, ¾ÆÁÖ ±íÀÌ ÀÖ°Ô´Â ¾Æ´Ï´õ¶óµµ ¹Ýµå½Ã ÇÑ °³ÀÌ»óÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ê ¼ö°¡ ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. ¾Ë°íº¸¸é ¿ì¸®µµ ¾ðÁ¦³ª ³ë·ÂÇØ¾ß ÇÏ´Â °íµÈ Á÷¾÷À» °¡Áö°í ÀÖ´Ù. )

ÀÏ´Ü, À§ÀÇ ±¸¹®À» µû¸£´Â °¡Àå °£´ÜÇÑ ¿¹¹®À» º¸¸é ´ÙÀ½°ú °°´Ù.

CREATE PROC usp_UpdatePrice_Titles
AS
    Update titles SET price = price * 1.2

ÀÌ·¸°Ô ¹Ù¶óº¸´Ï ¾î·ÆÁö ¾Ê´Ù. °¡Àå °£´ÜÇÑ ±¸¹®ÀÇ ½ºÅä¾îµå ÇÁ·Î½ÃÁ®´Â ´ÙÀ½°ú °°Àº ±¸¼ºÀ» Áö´Ï°Ô µÈ´Ù.

CREATE PROC(ȤÀº PROCEDURE) ÇÁ·Î½ÃÁ® À̸§
AS
    ¼öÇàÇÒ SQL Äõ¸®¹®Àå

¿À¿À, ÀÌÁ¦´Â ÀÌÇØÇÏ°í ½Í¾îÁö·Á ÇÑ´Ù. ¹¹µçÁö ½¬¿î °ÍºÎÅÍ Á¢±ÙÇØ ³ª°¡´Â °ÍÀ» ÇÊÀÚ´Â ÁÁ¾ÆÇÑ´Ù. óÀ½ºÎÅÍ ³Ê¹« ¾î·Æ°Ô ½ÃÀÛÇÏ¸é ¹¹µçÁö ÇϱⰡ ½È¾îÁö´Â ¹ýÀÌ´Ï ¸»ÀÌ´Ù. ¿ØÁö Ãʺ¸Ãë±ÞÀ» ÇϵíÀÌ À̾߱âÇÏ´Â °Í °°´Ù°í ´À³¤´Ù¸é, ÇÊÀÚ°¡ óÀ½¿¡ ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ ¾Ë±â À§Çؼ­ ²Ï³ª ¾î·Æ°Ô °øºÎÇ߱⿡. ±×·¸±â¿¡ ¿©·¯ºÐ¿¡°Ô´Â ½±°Ô Ç®¾îÁÖ±â À§Çؼ­ ³ë·ÂÇϰíÀÚ ÇÏ´Â °ÍÀÌ´Ï ¾çÇØÇØ ÁÖ±æ ¹Ù¶ó¸ç, ÀÌ¹Ì ±âº»Áö½ÄÀ» °¡Áö°í ÀÖ´Â »ç¶÷Àº Àû´çÈ÷ Àڽſ¡°Ô ¸Â´Â ºÎºÐÀ¸·Î ¼Óµ¶ÇÏ¸ç º¸¾Æ³ª°¡¸é µÉ °Í °°´Ù.

Äõ¸® ºÐ¼®±â(Query Analyzer)¸¦ ¿­°í ´ÙÀ½°ú °°Àº ±¸¹®À» ÀÔ·ÂÇØº¸µµ·Ï ÇÑ´Ù.

-- pubs¸¦ »ç¿ëÇÑ´Ù°í ¼³Á¤
Use pubs

-- °¡Àå ºñ½Ñ Ã¥ÀÇ °¡°ÝÀ» È®ÀÎ
Select max(price) from titles
GO

-- ÇÁ·Î½ÃÀú »ý¼º
CREATE PROC usp_UpdatePrice_Titles
AS
Update titles SET price = price * 1.2
GO

-- ¸¸µé¾îÁø ÇÁ·Î½ÃÀú¸¦ ½ÇÇà
Exec usp_UpdatePrice_Titles
GO

-- °¡Àå ºñ½Ñ Ã¥ÀÇ °¡°ÝÀ» È®ÀÎ
Select max(price) from titles

¸ÕÀú À§¿¡¼­ »ç¿ëÇÑ SQL ¹®µéÀ» »ìÆìº¸µµ·Ï ÇÏÀÚ. ¸ÕÀú Select max(price) from titles ¸¦ ÅëÇØ¼­ ÇöÀç Ã¥ °¡°ÝÁß¿¡ °¡Àå ºñ½Ñ Ã¥ÀÇ °¡°ÝÀ» ¸ÕÀú ¾Ë¾Æº¸µµ·Ï ÇÑ´Ù. ±×·¡¾ß, Ã¥ÀÇ °¡°ÝÀ» º¯µ¿½ÃŲ µÚ, Á¦´ë·Î º¯°æµÇ¾ú´ÂÁö È®ÀÎÀÌ °¡´ÉÇÒÅ×´Ï ¸»ÀÌ´Ù. ±× ´ÙÀ½¿¡ Go ¶ó°í µÇ¾îÁ® ÀÖ´Â °ÍÀº SQL ¼­¹ö¿¡¼­ Äõ¸®¸¦ ¼öÇàÇÒ °æ¿ì, °¢°¢ÀÇ ¹èÄ¡¸¦ ±¸ºÐÇϱâ À§Çؼ­ »ç¿ëÇÑ °ÍÀÌ´Ù. ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ ¸¸µå´Â ÀÛ¾÷ÀÌÀü¿¡´Â ¾î¶°ÇÑ ¸í·Éµµ ÀÌÀü¿¡ Á¸ÀçÇÏÁö ¾Ê¾Æ¾ß Çϱ⿡ Go¸¦ µÎ¾î ÀÌÀüÀÇ ÀÛ¾÷À» ¸ÕÀú ³¡³»°Ô ÇÑ °ÍÀÌ´Ù.

±×¸®°í ³­ µÚ, ÀúÀå ÇÁ·Î½ÃÁ®¸¦ ¸¸µç´Ù. ÀÌ ÇÁ·Î½ÃÁ®ÀÇ À̸§Àº usp_UpdatePrice_Titles À̸ç, À̸§Àº ¿©·¯ºÐÀÌ ¿øÇϴ´ë·Î Á־ ¹«°üÇÏ´Ù. ±×¸®°í, ÀÌ ÇÁ·Î½ÃÁ®´Â Update titles SET price = price * 1.2 ¶õ Äõ¸®¸¦ ¼öÇàÇϵµ·Ï ¸¸µç °ÍÀ» º¼ ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î½ÃÁ®°¡ ¸¸µé¾îÁö¸é ÀÌÈķδ Update titles SET price = price * 1.2 ´ë½Å¿¡ usp_UpdatePrice_Titles¸¦ ½ÇÇà½ÃÄѵµ °°Àº °á°ú¸¦ º¼ ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù.

ÀÌÁ¦ ÇÁ·Î½ÃÁ®´Â ¸¸µé¾î Á³´Ù. ±×·¸´Ù¸é, ÀÌ ¸¸µé¾îÁø ÇÁ·Î½ÃÁ®¸¦ ½ÇÇàÇØº¸µµ·Ï ÇÏÀÚ. »ç¿ëÀÚ°¡ ¸¸µç ÀúÀå ÇÁ·Î½ÃÁ®¸¦ ½ÇÇàÇϱâ À§Çؼ­´Â EXEC ¶ó´Â ¸í·ÉÀ» »ç¿ëÇÏ¸é µÈ´Ù. ÇØ¼­ ¼Ò½º¿¡¼­´Â EXEC usp_UpdatePrice_Titles¸¦ »ç¿ëÇÏ¿© ¿ì¸®°¡ ¸¸µç ÇÁ·Î½ÃÁ®¸¦ ¼öÇàÇϵµ·Ï Çϰí ÀÖ´Ù.

±×¸®°í, ´Ù½Ã °¡Àå ºñ½Ñ Ã¥ÀÇ °¡°ÝÀ» ¾Ë¾Æº¸´Ï 20% ÀλóÀÌ µÇ¾îÁ® ÀÖ´Â °ÍÀ» ¾Ë ¼ö°¡ ÀÖ´Ù. À̰ÍÀº À§ÀÇ Äõ¸®°¡ ¼öÇàµÇ¸é¼­ ³ªÅ¸³ª´Â °á°úÈ­¸éÀ¸·Î ¿ø·¡ÀÇ °¡°Ý°ú ÀλóµÈ °¡°ÝÀÇ ¸ð½ÀÀ» º¼ ¼ö°¡ ÀÖ´Ù.

---------------------
22.9500
Warning: Null value eliminated from aggregate.

---------------------
27.5400
Warning: Null value eliminated from aggregate.

°á°úÁß¿¡ ÀÖ´Â °æ°í´Â Ã¥°ªÁß¿¡ °ªÀÌ NULL ÀÎ °ÍÀÌ À־ ³ª´Â °æ°íÀÌ´Ï ½É°¢ÇÏ°Ô ¹Þ¾ÆµéÀÌÁö ¾Ê¾Æµµ µÈ´Ù. ÀϹÝÀûÀÎ SQL ±¸¹®À» ½ºÅä¾îµå ÇÁ·Î½ÃÁ®·Î ¹Ù²Ù´Â °ÍÀº ±×¸® ¾î·ÆÁö ¾Ê¾Ò´Ù. °£´ÜÇϰԸ¸ »ç¿ëÇÑ´Ù¸é ÀúÀå ÇÁ·Î½ÃÁ®µµ ±×·¸°Ô ¾î·ÆÁö´Â ¾Ê´Ù.

À̹ø¿¡´Â ÀÌ ÀúÀå ÇÁ·Î½ÃÁ®¿¡ ÀÎÀÚ¸¦ ³Ñ±â´Â ¿¹¸¦ Çѹø ÇØº¸µµ·Ï ÇÏÀÚ. ¿ì¸® ȸ»ç¿¡¼­ °©ÀÛ½º·¯¿î ÀÌÀ¯·Î ƯÁ¤ ŸÀÔÀÇ Ã¥µé¿¡ ´ëÇØ¼­´Â ¼ö½Ã·Î °¡°ÝÀ» Á¶±ÝÀº ¿Ã¸®´Â °æ¿ì°¡ Àæ´Ù°í °¡Á¤À» ÇØ º¸ÀÚ. ¹°·Ð, ½ÇÁ¦»óȲ¿¡¼­ ±×·± ÀÏÀº ¾øÀ»Å×Áö¸¸ ´ÜÁö ¿¹¿¡ ºÒ°úÇϴϱî "¿¹"ÇÏ°í °°ÀÌ ÇØº¸ÀÚ.

À§¿Í °°Àº »óȲÀ̶ó¸é ¾î¶² Äõ¸®¹®ÀÌ ÇÊ¿äÇÒ±î? ´ÙÀ½°ú °°Àº Äõ¸®¹®ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù.

Update titles SET price = price + ¿Ã¸±°¡°Ý
Where type = ¿Ã¸±°¡°ÝÀÇ Ã¥ ŸÀÔ

±×·¸´Ù¸é, À̹ø¿¡´Â À̰ÍÀ» ÇÁ·Î½ÃÁ®·Î ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ. ±×·¸´Ù¸é ÀÌ ÇÁ·Î½ÃÁ®·Î´Â µÎ °³ÀÇ ÀÎÀÚ¸¦ ³Ñ±æ ¼ö ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. ¿Ã¸± °¡°Ý¿¡ ´ëÇÑ °ª°ú, °ªÀ» ¿Ã¸± Ã¥ÀÇ Å¸ÀÔÀ» ¸»ÀÌ´Ù. ±×·± °æ¿ì¿¡´Â ÇÁ·Î½ÃÁ®¸¦ ¾î¶»°Ô Á¦ÀÛÇØ¾ß Çϴ°¡? ´ÙÀ½Ã³·³ ÇÏ¸é µÈ´Ù.

CREATE PROC usp_UpdatePrice2_Titles
    @type char(12),
    @plus int
AS>
    Update titles SET price = price + @plus
    Where type = @type

ÇÁ·Î½ÃÁ®¿¡¼­ »ç¿ëÇÏ´Â º¯¼ö´Â @Çϳª·Î ½ÃÀÛÇÑ´Ù. À§ÀÇ ¼Ò½º¿¡¼­ º¸¸é ÇÁ·Î½ÃÁ® À̸§ µÚ·Î, ÇÁ·Î½ÃÁ® ³»ºÎÀÇ SQL ¹®¿¡¼­ ÇÊ¿äÇÑ µÎ°¡ÁöÀÇ ÀÎÀÚ¸¦ ³Ñ±âµµ·Ï ÇÏ´Â °ÍÀ» º¼ ¼ö°¡ ÀÖ´Ù. º¯¼öÀ̸§Àº ¿©·¯ºÐÀÌ ¿øÇÏ´Â ´ë·Î ÁÙ ¼ö ÀÖÁö¸¸, ±× º¯¼öÀÇ Å¸ÀÔÀº Àß ¸ÂÃß¾î ÁÖ¾î¾ß ÇÑ´Ù. ¿ì¼± ù ¹øÂ° ÀÎÀڷδ åÀÇ Å¸ÀÔÀ» ³Ñ°ÜÁÙ °ÍÀ̱⿡ º¯¼ö À̸§À» @type ±× µ¥ÀÌÅÍŸÀÔÀº char(12)À¸·Î ÁØ °ÍÀ» º¼ ¼öÀÖ´Ù. ±× ´ÙÀ½ ÀÎÀڷδ , ¸¦ ±¸ºÐÀÚ·Î ÇÏ¿© @plus ¶ó´Â ÁöÁ¤Çϰí Àִµ¥, À̴ åÀÇ Àλ󰡰ÝÀÌ µÉ °ÍÀÌ´Ù. µ¥ÀÌÅÍ Å¸ÀÔÀº int ÀÌ°í ¸»ÀÌ´Ù. ÀÌ·¸°Ô ÇÁ·Î½ÃÁ® µÚ·Î µÎ °³ÀÇ º¯¼ö¸¦ ¹Þ¾ÆµéÀÌ°Ô µÇ¸é, ÇÁ·Î½ÃÁ® ³»¿¡¼­´Â ÀÌ °ªÀ» °¡Áö°í 󸮸¦ ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

À̹ø ÇÁ·Î½ÃÁ®¿¡¼­´Â ÀÌ ³Ñ¾î¿Â µÎ °³ÀÇ º¯¼ö¸¦ »ç¿ëÇØ¼­ ƯÁ¤ ŸÀÔÀÇ Ã¥ °¡°ÝÀ» ƯÁ¤ °ª¸¸Å­ ÀλóÇϰí ÀÖ´Ù. ¾î·ÆÁö ¾ÊÀº ÆíÀÌ´Ù. ±×·³ ½ÇÁ¦·Î Çѹø ÀÌ ÇÁ·Î½ÃÁ®¸¦ ¸¸µé¾î º¸ÀÚ.

Query Anayzer ¿¡´Ù À§ÀÇ ÇÁ·Î½ÃÁ® ±¸¹®À» ÀÔ·ÂÇÏ°í ½ÇÇàÇØ º¸ÀÚ. ¿ÀŸ ¾øÀÌ Àß ¼öÇàÇß´Ù¸é ¿©·¯ºÐÀº The command(s) completed successfully.¶õ ¸Þ½ÃÁö¸¦ ¹ÞÀ» °ÍÀÌ´Ù. ÀÌÁ¦ ÀÌ ÇÁ·Î½ÃÁ®´Â ¸¸µé¾î Á³´Ù. ±×·¸´Ù¸é, ÀÌÁ¦ ÀÌ ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇØ º¸µµ·Ï ÇÏÀÚ. ¿ì¸®´Â Ã¥Áß¿¡¼­ Business ŸÀÔÀΠåµéÀÇ °¡°ÝÀ» 10 ´Þ·¯ Àλó½Ãų °èȹÀÌ´Ù. ±×·¸°Ô Çѹø ÇØº¸ÀÚ.

ÀÌ ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇϱâ Àü¿¡ È®ÀÎÂ÷¿ø¿¡¼­ ÇöÀç titles Å×À̺íÀÇ Business ŸÀÔÀÇ Ã¥Áß¿¡ °¡Àå ºñ½Ñ Ã¥ÀÇ °ªÀÌ ¾ó¸¶ÀÎÁö ¹Ì¸® È®ÀÎÇØ µÎµµ·Ï ÇÏÀÚ. ´ÙÀ½ Äõ¸®¸¦ ÅëÇØ¼­ ¸»ÀÌ´Ù.

Select max(price) from titles Where type = 'business'

À§¿¡¼­ºÎÅÍ ÁÖ¿í µû¶óÇϼ̴ٸé ÀÌ °ªÀº 23.988 ¶ó°í ³ª¿Ã °ÍÀÌ´Ù. ÀÌ °ªÀ» ±â¾ïÇØ µÎÀÚ. 23.988 ÀÌ ¾Æ´Ï¶ó¸é ±×·¡µµ ÁÁ´Ù. ÇÏÁö¸¸, ±×·² °æ¿ì ±× °ªÀ» ¾îµò°¡¿¡ Àû¾îµÎµµ·Ï ÇÏÀÚ.

ÀÌÁ¦ ´ÙÀ½Ã³·³ ÇÁ·Î½ÃÁ®¸¦ »ç¿ëÇØ º¸µµ·Ï ÇÏÀÚ.

Exec usp_UpdatePrice2_Titles 'business', 10

ÁÖÀÇÇÒ °ÍÀº ¿ì¸®°¡ ÇÁ·Î½ÃÁ®¸¦ ¸¸µé ¶§, ù ¹øÂ° ÀÎÀÚ°¡ charÀΠŸÀÔ Ä÷³, µÎ ¹øÂ° ÀÎÀÚ°¡ ÀλóÇÒ °¡°ÝÀÎ plus À̾úÀ¸¹Ç·Î ±× ¼ø¼­¿¡ ¸ÂÃß¾î °ªÀ» ³Ö¾îÁÖ¾î¾ß ÇÑ´Ù´Â »ç½ÇÀÌ´Ù. ¸¸ÀÏ, ±× ¼ø¼­¿Í ¹«°üÇÏ°Ô °¡°ÝÀ» ³Ö°í ½Í´Ù¸é, ´ÙÀ½Ã³·³ ±× º¯¼öÀ̸§À» »ç¿ëÇØ¼­ °ªÀ» ³ÖÀ» ¼öµµ ÀÖ´Ù.

Exec usp_UpdatePrice2_Titles @plus=10, @type=business

ÇÁ·Î½ÃÁ®¸¦ ¼öÇàÇß´Ù¸é Select Äõ¸®¸¦ ÅëÇØ¼­ °¡°ÝÀÌ 10 ´Þ·¯ Áõ°¡Çß´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏÀÚ. (ÇÊÀÚÀÇ °æ¿ì¶ó¸é °¡°ÝÀº 33.988ÀÌ µÇ¾îÁ® ÀÖ´Ù.)

Back