Bonjour à tous,
une fois n'est pas coutume, aujourd'hui nous allons faire très court. Vous connaissez tous les commandes SQL load et unload, utilisées pour charger et décharger le contenu de/vers une table à partir de/vers un fichier ascii plat et délimité.
Dans la document Informix 4GL, cette commande est qualifiée comme "non préparable", c'est à dire qu'on ne peut pas écrire de choses du genre:
LET statement = "LOAD FROM /tmp/monfichier.unl INSERT INTO matable"
PREPARE monordre FROM statement
EXECUTE monordre
Oui mais... ce qui n'est pas dit dans la documentation, mais qui est quand même supporté et qui marche très bien, c'est la forme suivante:
LET monfichier="/tmp/monfichier.unl"
LET ins_statement = "INSERT INTO matable"
LOAD FROM monfichier ins_statement
Même principe pour unload:
LET monfichier="/tmp/monfichier.unl"
LET sel_statement = "SELECT * FROM matable"
UNLOAD TO monfichier sel_statement
Pas de quoi vous changer la vie, j'admets, mais quand même de quoi rendre bien des services, nommément quand on a besoin d'avoir des load et unload dont la stucture est conditionnée par l'application, ou bien réécrire un simili dbexport en 4GL à partir de la table systables par exemple.
C'est tout :-)
A bientôt
Eric