Greetings!
Long story... But, I have to update a DB from another DB if the record in
the DB to be updated contains that record. So, with an attached DB,
ATTACH 'somedb.sqlite' as client;
I execute this command,
BEGIN;
INSERT OR REPLACE INTO LSOpenProjects
SELECT * FROM client.LSOpenProjects
WHERE id IN
(
SELECT id from client.LSOpenProjects
WHERE
client.LSOpenProjects.ProjID <= 133560 AND
client.LSOpenProjects.XtraB >= '2014-08-07 00:00:00';
);
END;
This is great and it's working for one piece of the updates to a SharedDB,
but I also want to run another command like the one above for the usersDB
that will do the same, except that it should only update the id's that
exists in the localDB. In other words, only update from
client.LSOpenProjects, if the LSOpenProject table has that id. Imagine
these two DBs:
localUserDB: LSOpenProjects
id,...,XtraB
20,...,'2014-04-09 10:20:34'
23,...,'2014-04-09 10:20:34'
27,...,'2014-04-09 10:20:34'
28,...,'2014-04-09 10:20:34'
SharedDB: LSOpenProjects
id,...,XtraB
...
20,...,'2014-08-09 14:23:14'
21,...,'2014-08-08 11:29:25'
22,...,'2014-07-09 16:12:07'
23,...,'2014-04-09 10:20:34'
24,...,'2014-08-08 23:44:11'
25,...,'2014-04-09 10:20:34'
26,...,'2014-08-09 10:00:55'
27,...,'2014-08-09 03:18:20'
28,...,'2014-04-09 10:20:34'
29,...,'2014-04-09 10:20:34'
30,...,'2014-04-09 10:20:34'
The command above would return,
20
21
24
26
27
but it should only update id 20 and 27 and should not insert any into the
local DB. I have no idea how to write it. I am now using two separate SQL
commands and using some programming to create the updates. Any help would
be greatly appreciate it. Thanks.
josé
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users