IBM Books

Image, Audio, Video Extender °ü¸® ¹× ÇÁ·Î±×·¡¹Ö

»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö

»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö(UDF)´Â SQL ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ¸·Î, À̰ÍÀº DB2¿¡ Á¦°øµÈ ³»Àå ÇÔ¼ö ¼¼Æ®·Î Ãß°¡µË´Ï´Ù. ƯÈ÷, À̹ÌÁö, ¿Àµð¿À ¹× ºñµð¿À ¿ÀºêÁ§Æ®¿¡¸¸ °íÀ¯ÇÑ Á¶ÀÛÀ» ¼öÇàÇÏ´Â UDF¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ºñµð¿ÀÀÇ ¾ÐÃà Çü½ÄÀ» È®º¸Çϰųª ¿Àµð¿ÀÀÇ »ùÇøµÀ²À» ¸®ÅÏÇÏ´Â UDF¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ƯÁ¤ À¯Çü ¿ÀºêÁ§Æ®ÀÇ ÇൿÀ» Á¤ÀÇÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ºñµð¿À ¿ÀºêÁ§Æ®´Â ºñµð¿À À¯Çü¿¡ ´ëÇØ ÀÛ¼ºµÈ ÇÔ¼ö ±¸¹®À¸·Î ÇൿÇϰí, À̹ÌÁö ¿ÀºêÁ§Æ®´Â À̹ÌÁö À¯Çü¿¡ ´ëÇØ ÀÛ¼ºµÈ ÇÔ¼ö ±¸¹®À¸·Î ÇൿÇÕ´Ï´Ù.

»ç¿ëÀÚ´Â SQL CREATE FUNCTION¹®À¸·Î UDF¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ¸í·É¹®Àº ´Ù¸¥ °Íµé »çÀÌ¿¡¼­, UDF°¡ Àû¿ëµÉ ¼ö ÀÖ´Â µ¥ÀÌÅÍ À¯ÇüÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ ¸í·É¹®Àº ¸ÊÀÇ ÃàôÀ» °è»êÇÏ´Â map_scaleÀ̶ó´Â UDF¸¦ ÀÛ¼ºÇÕ´Ï´Ù. UDF°¡ ÀÚ½ÅÀÌ Àû¿ëµÉ ¼ö ÀÖ´Â µ¥ÀÌÅÍ À¯ÇüÀ¸·Î¼­ mapÀ» ½Äº°ÇÔÀ» À¯ÀÇÇϽʽÿÀ. ÇÔ¼ö¸¦ ±¸ÇöÇÏ´Â ÄÚµå´Â C·Î ÀÛ¼ºµÇ°í EXTERNAL NAMEÀý¿¡¼­ ½Äº°µË´Ï´Ù.

CREATE FUNCTION map_scale (map)
  RETURNS SMALLINT
  EXTERNAL NAME 'scale!map'
  LANGUAGE C
  PARAMETER STYLE DB2SQL
  NO SQL
  DETERMINISTIC
  NO EXTERNAL ACTION

UDF´Â ³»Àå ÇÔ¼ö¿Í µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î SQL¹®¿¡ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¿¡¼­, map_scale UDF´Â grid¶ó´Â Å×À̺í Ä÷³¿¡ ÀúÀåµÈ ¸Ê ÃàôÀ» ¸®ÅÏÇÏ´Â SQL SELECT¹®¿¡ »ç¿ëµË´Ï´Ù.

SELECT map_scale (grid)
  FROM places
  WHERE location='SAN JOSE, CALIFORNIA'

°¢°¢ÀÇ DB2 Extender´Â ÀÚ½ÅÀÇ À¯Çü, Áï, À̹ÌÁö ƯÁ¤, ¿Àµð¿À ƯÁ¤ ¹× ºñµð¿À ƯÁ¤ UDF¿¡ ´ëÇÑ UDF ¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. Å×ÀÌºí¿¡ À̹ÌÁö ÀúÀå, ºñµð¿ÀÀÇ ÇÁ·¹ÀÓÀ² È®º¸ ¶Ç´Â ¿Àµð¿À¿¡ ´ëÇÑ ÁÖ¼® Ãß°¡ µîÀÇ Extender ÇÔ¼ö¸¦ ¿äûÇÏ´Â SQL¹®¿¡ ÀÌ·¯ÇÑ UDF¸¦ »ç¿ëÇÕ´Ï´Ù.


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]