On 16 mars 2010, at 11:06, Patrick Proniewski wrote:
> - L'utilisation dans SQLite d'une table de type :memory: permet d'atteindre des performances supérieures à l'utilisation de simples tables temporaires.
il fallait lire "d'une BASE de type :memory:", et non pas d'une table. Et j'ai oublié de mettre le script modifié final :
-----------------------------------------
#!/bin/bash
# quelques definitions
MY_FILEDB=":memory:"
MY_SQLITE="/usr/bin/sqlite3"
${MY_SQLITE} "${MY_FILEDB}" <<EOF | sed 's,\([^|]*\)\|\([^|]*\),"\1";"\2",' > $3
CREATE TABLE file1(ref varchar(120),desc varchar(120));
CREATE TABLE file2(ref varchar(120),desc varchar(120));
$(sed 's/\([^;]*\);\([^;]*\)/INSERT INTO file1 VALUES(\1,\2);/' $1)
$(sed 's/\([^;]*\);\([^;]*\)/INSERT INTO file2 VALUES(\1,\2);/' $2)
SELECT file1.ref, IFNULL(file2.desc, file1.desc) FROM file1 LEFT JOIN file2 ON file1.ref=file2.ref;
EOF
-----------------------------------------
patpro
_______________________________________________
archives :
http://listes.patpro.net/list/sshfr.fr.html
http://listes.patpro.net/mailman/listinfo/script_shell_fr