或存储在服务器文件中(并从数据库中指向它)的图象、音频或视频对象。
若从客户机缓冲区或客户机文件更新对象,则指示 BLOB 或服务器文件存储器作为在 filename 参数中指定的内容的结果。若指定文件名,它指示要更新其内容在服务器文件中的对象。若指定空文件名,它指示要更新以 BLOB 形式存储在数据库表中的对象。
例如,C 应用程序中的下列语句更新其内容在服务器文件中的图象。更新源仅位于客户机缓冲区中。还会更新图象注解。
EXEC SQL BEGIN DECLARE SECTION; SQL TYPE IS BLOB (2M) Img_buf EXEC SQL END DECLARE SECTION; EXEC SQL UPDATE EMPLOYEE SET PICTURE=REPLACE( PICTURE, :Img_buf, 'ASIS', '/Employee/newimg/ajones.bmp', /*update image in*/ /*server file*/ 'Anita''s new picture') WHERE NAME='Anita Jones';
若从服务器文件更新对象,则指定 MMDB_STORAGE_TYPE_INTERNAL 来更新以 BLOB 形式存储在数据库表中的对象。若要更新其内容在服务器文件中的对象,指定 MMDB_STORAGE_TYPE_EXTERNAL。
例如,在以下 C 应用程序中将更新音频剪辑。音频剪辑的内容位于服务器文件中。用于更新的源也在服务器文件中。
EXEC SQL BEGIN DECLARE SECTION; long hvStorageType; EXEC SQL END DECLARE SECTION; hvStorageType=MMDB_STORAGE_TYPE_EXTERNAL; EXEC SQL UPDATE EMPLOYEE SET SOUND=CONTENT( SOUND, '/Employee/newimg/ajones.wav', 'WAVE', :hvStorageType) /*update audio in server file*/ WHERE NAME='Anita Jones';