La fonction UDF Content peut avoir différents formats selon son utilisation. Ces formats sont les suivants :
Format 1 : Mise à jour d'un objet à partir de la mémoire tampon ou d'un fichier client :
Content( handle, /* descripteur objet */ content, /* contenu de l'objet */ source_format, /* format source */ target_file /* nom du fichier cible pour stockage sur */ /* un serveur */ /* de fichiers ou valeur NULL pour stockage */ /* en tant qu'objet BLOB */ );
Format 2 : Mise à jour d'un objet à partir d'un fichier du serveur.
Content( handle, /* descripteur objet */ source_file, /* nom du fichier du serveur */ source_format, /* format source */ stortype /* MMDB_STORAGE_TYPE_EXTERNAL=stockage */ /* sur un serveur de fichiers */ /* MMDB_STORAGE_TYPE_INTERNAL=stockage */ /* en tant qu'objet BLOB */ );
Format 3 : Mise à jour d'un objet dont les attributs sont définis par l'utilisateur, à partir de la mémoire tampon ou d'un fichier du poste client :
Content( handle, /* descripteur objet */ content, /* contenu de l'objet */ target_file, /* nom du fichier cible pour stockage sur le */ /* serveur de fichiers */ /* ou NULL pour stockage dans une table */ /* en tant qu'objet BLOB */ attrs, /* attributs définis par l'utilisateur */ thumbnail /* miniature (objet image et vidéo uniquement) */ );
Format 4 : Mise à jour d'un objet dont les attributs sont définis par l'utilisateur à partir d'un fichier du serveur :
Content( handle, /* descripteur objet */ source_file, /* nom du fichier source */ stortype, /* MMDB_STORAGE_TYPE_EXTERNAL=stockage */ /* sur un serveur de fichiers*/ /* MMDB_STORAGE_TYPE_INTERNAL=stockage */ /* en tant qu'objet BLOB */ attrs, /* attributs définis par l'utilisateur */ thumbnail /* miniature (objet image et vidéo uniquement) */ );
Pour les images uniquement, la fonction UDF Content présente des formats supplémentaires :
Format 5 : Mise à jour d'un objet à partir de la mémoire tampon ou d'un fichier client avec conversion de format :
Content( handle, /* descripteur objet */ content, /* contenu de l'objet */ source format, /* format source */ target format, /* format cible */ target_file /* nom du fichier cible pour stockage sur */ /* un serveur de fichiers */ /* ou NULL pour stockage dans une table */ /* en tant qu'objet BLOB */ );
Format 6 : Mise à jour d'un objet à partir d'un fichier du serveur avec conversion de format :
Content( handle, /* descripteur objet */ source_file, /* nom du fichier du serveur */ source format, /* format source */ target format, /* format cible */ target_file /* nom du fichier cible pour stockage sur */ /* un serveur de fichiers */ /* ou NULL pour stockage dans une table */ /* en tant qu'objet BLOB */ );
Format 7 : Mise à jour d'un objet à partir de la mémoire tampon ou d'un fichier client avec conversion de format et modifications supplémentaires :
Content( handle, /* descripteur objet */ content, /* contenu de l'objet */ source format, /* format source */ target format, /* format cible */ conversion_options, /* options de conversion */ target_file /* nom du fichier cible pour stockage sur */ /* un serveur de fichiers */ /* ou NULL pour stockage dans une table */ /* en tant qu'objet BLOB */ );
Format 8 : Mise à jour d'un objet à partir d'un fichier du serveur avec conversion de format et modifications supplémentaires :
Content( handle, /* descripteur objet */ source_file, /* nom du fichier du serveur */ source format, /* format source */ target format, /* format cible */ conversion_options, /* options de conversion */ target_file /* nom du fichier cible pour stockage sur */ /* un serveur de fichiers */ /* ou NULL pour stockage dans une table */ /* en tant qu'objet BLOB */ );
Par exemple, les instructions ci-après, incluses dans un programme d'application en langage C, mettent à jour une image dans la table Employés. Les données de mise à jour se trouvent dans un fichier du serveur appelé adupont.bmp. L'image modifiée est stockée dans la table Employés en tant qu'objet BLOB. (Cette opération correspond au format 2.)
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, /*descripteur image*/ '/Employés/nouvimg/adupont.bmp', /*fichier source*/ 'ASIS', /*conservation du format de l'image*/ ''); /*stockage de l'image dans la */ /*BD en tant qu'objet BLOB*/ WHERE NAME='Anne Dupont';
Les instructions ci-après, incluses dans un programme d'application en langage C, mettent à jour la même image que dans l'exemple précédent, à cette différence près que l'image est convertie du BMP au format GIF lors de la mise à jour. (Cela correspond au format 6 ci-dessus.)
EXEC SQL UPDATE EMPLOYEE SET PICTURE=CONTENT( PICTURE, /*descripteur image*/ '/Employés/nouvimg/adupont.bmp', /*fichier source*/ 'BMP', /*format source*/ 'GIF', /*format cible*/ ''); /*stockage de l'image dans */ /* la BD en tant qu'objet BLOB*/ WHERE NAME='Anne Dupont';