"Martin Engelschalk" wrote...

> Hi,
>
> If you could post how it does fail, exactly, maybe we can help ....
>
> Martin


I wish I could... the wrapper that I have is very old and I have put too 
much time on this to update, right now.  I am sure it is the wrapper, since 
most times it works and sometimes it does not.  So, I will have to keep 
track of that.  But, thanks for the support.  I will keep #2 as the desired 
SQL.

josé




>
> jose isaias cabrera wrote:
>> Ok.  That is what I am doing now.  Every so often, it fails, for some
>> reason.  It could be a network problem, but I don't think so.  Anyway,
>> thanks for the help.
>>
>> josé
>>
>> ----- Original Message ----- 
>> From: "Martin Engelschalk" <engelsch...@codeswift.com>
>> To: "General Discussion of SQLite Database" <sqlite-users@sqlite.org>
>> Sent: Monday, March 02, 2009 1:14 PM
>> Subject: Re: [sqlite] INSERTing OR REPLACEing Together or one at a time
>>
>>
>>
>>> Hi,
>>>
>>> it seems to me that between LSOpenProjects and LSOpenSubProjects you
>>> have a 1:n relationship, and also between LSOpenSubProjects and
>>> LSOpenJobs.
>>> Also, it seems that you want to copy data from an attached database "c"
>>> to the main database.
>>> So, if you want to preserve this relationship in your main database, you
>>> have to use one transaction, Command #2, and rollback in case of 
>>> failure.
>>>
>>> Martin
>>>
>>> jose isaias cabrera wrote:
>>>
>>>> Greetings.
>>>>
>>>> which command is safer to use:
>>>>
>>>> Command #1:
>>>>
>>>> BEGIN;
>>>>     INSERT OR REPLACE INTO LSOpenProjects
>>>>         SELECT * FROM c.LSOpenProjects
>>>>         WHERE ProjID = 2000;
>>>> COMMIT;
>>>> BEGIN;
>>>>     INSERT OR REPLACE INTO LSOpenSubProjects
>>>>         SELECT * FROM c.LSOpenSubProjects
>>>>         WHERE ProjID = 2000;
>>>> COMMIT;
>>>> BEGIN;
>>>>     INSERT OR REPLACE INTO LSOpenJobs
>>>>         SELECT * FROM c.LSOpenJobs
>>>>         WHERE ProjID = 2000;
>>>> COMMIT;
>>>>
>>>>
>>>> Command #2:
>>>>
>>>> BEGIN;
>>>>     INSERT OR REPLACE INTO LSOpenProjects
>>>>         SELECT * FROM c.LSOpenProjects
>>>>         WHERE ProjID = 2000;
>>>>     INSERT OR REPLACE INTO LSOpenSubProjects
>>>>         SELECT * FROM c.LSOpenSubProjects
>>>>         WHERE ProjID = 2000;
>>>>     INSERT OR REPLACE INTO LSOpenJobs
>>>>         SELECT * FROM c.LSOpenJobs
>>>>         WHERE ProjID = 2000;
>>>> COMMIT;
>>>>
>>>> This latter one is failing every so often.  But, it should not matter
>>>> much,
>>>> since it is writing to three different tables.  I should say that there
>>>> is
>>>> always, just one LSOpenProject record; at least, one LSOpenSubProjects
>>>> records and, at least, one LSOpenJobs record.  But 99% of the time, 
>>>> there
>>>> is
>>>> always more than one LSOpenJobs.
>>>>
>>>> Any ideas?
>>>>
>>>> thanks,
>>>>
>>>> josé
>>>>
>>>>
>>>> _______________________________________________
>>>> sqlite-users mailing list
>>>> sqlite-users@sqlite.org
>>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>>
>>>
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to