À̹ÌÁö, ¿Àµð¿À ¶Ç´Â ºñµð¿À ¿ÀºêÁ§Æ®¸¦ Ŭ¶óÀÌ¾ðÆ® ¹öÆÛ ¶Ç´Â Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ¿¡¼ °»½ÅÇÏ·Á¸é È£½ºÆ® º¯¼ö ¶Ç´Â ÆÄÀÏ ÂüÁ¶ º¯¼ö¸¦ »ç¿ëÇϽʽÿÀ.
°»½ÅÇÒ ¼Ò½º°¡ Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ¿¡ ÀÖ´Ù¸é, ³»¿ëÀ» Àü¼ÛÇϱâ À§ÇØ ÆÄÀÏ ÂüÁ¶ º¯¼ö¸¦ »ç¿ëÇϽʽÿÀ. ¿¹¸¦ µé¾î, C ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÖ´Â ´ÙÀ½ÀÇ ¸í·É¹®Àº Audio_file·Î À̸§ ÁöÁ¤µÈ ÆÄÀÏ ÂüÁ¶ º¯¼ö¸¦ Á¤ÀÇÇϰí, ±×°ÍÀ» »ç¿ëÇÏ¿© BLOBÀ¸·Î µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ÀúÀåµÈ ¿Àµð¿À Ŭ¸³À» °»½ÅÇÕ´Ï´Ù. °»½Å¿ë ¼Ò½º´Â Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ¿¡ ÀÖ½À´Ï´Ù. ÆÄÀÏ ÂüÁ¶ º¯¼öÀÇ file_options Çʵ尡 ÀԷ¿ë SQL_FILE_READÀ¸·Î ¼³Á¤µÊÀ» À¯ÀÇÇϽʽÿÀ. ¶ÇÇÑ ÆÄÀÏ ÂüÁ¶ º¯¼ö°¡ ³»¿ë Àμö·Î Content UDF¿¡ »ç¿ëµÊÀ» À¯ÀÇÇϽʽÿÀ.
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB_FILE Audio_file; EXEC SQL END DECLARE SECTION; strcpy (Audio_file.name, "/employee/newsound/ajones.wav"); Audio_file.name_length= strlen(Audio_file.name); Audio_file.file_options= SQL_FILE_READ; EXEC SQL UPDATE EMPLOYEE SET SOUND=CONTENT( SOUND, :Audio_file /*file reference variable*/ 'WAVE', /*keep the image format*/ CAST(NULL as LONG VARCHAR)) WHERE NAME='Anita Jones';
¿ÀºêÁ§Æ®°¡ Ŭ¶óÀÌ¾ðÆ® ¹öÆÛ¿¡ ÀÖ´Ù¸é, ±×°ÍÀÇ °»½Å¿ë ³»¿ëÀ» Àü¼ÛÇϱâ À§ÇØ È£½ºÆ® º¯¼ö¸¦ »ç¿ëÇϽʽÿÀ. ´ÙÀ½ÀÇ C ÀÀ¿ëÇÁ·Î±×·¥ ¿¹½Ã¿¡¼ Video_seg¶ó°í À̸§ ÁöÁ¤µÈ È£½ºÆ® º¯¼ö°¡ °»½Å¿ëÀ¸·Î ºñµð¿À Ŭ¸³ÀÇ ³»¿ëÀ» Àü¼ÛÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ºñµð¿À Ŭ¸³°ú ¿¬°üµÈ ÁÖ¼®µµ °»½ÅµË´Ï´Ù. ºñµð¿À Ŭ¸³Àº BLOBÀ¸·Î µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ÀúÀåµË´Ï´Ù. È£½ºÆ® º¯¼ö°¡ ³»¿ë Àμö·Î Replace UDF¿¡ »ç¿ëµÊÀ» À¯ÀÇÇϽʽÿÀ.
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB (2M) Video_seg EXEC SQL END DECLARE SECTION; EXEC SQL UPDATE EMPLOYEE SET VIDEO=REPLACE( VIDEO, :Video_seg /*host variable*/ 'MPEG1', CAST(NULL as LONG VARCHAR), 'Anita''s new video') WHERE NAME='Anita Jones';
UDF ¸Þ¸ð¸®°¡ ÃæºÐÇÑÁö È®ÀÎÇϽʽÿÀ. ³»¿ëÀÌ Å¬¶óÀÌ¾ðÆ® ¹öÆÛ¿¡ ÀÖ´Â ¿ÀºêÁ§Æ®¸¦ °»½ÅÇÒ ¶§, µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ ±¸¼ºÀÇ UDF_MEM_SZ ¸Å°³º¯¼ö°¡ 4MB ÀÌ»óÀ¸·Î ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇϽʽÿÀ.
DB2 ¸í·É UPDATE DATABASE MANAGER CONFIGURATIONÀ» »ç¿ëÇÏ¿© UDF_MEM_SZ ¸Å°³º¯¼ö¸¦ °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.