Is their any Query format which can change the value based on conditional
expression is TRUE!!!

Thanks..

Techi -


On Fri, Aug 2, 2013 at 2:11 PM, Hick Gunter <h...@scigames.at> wrote:

> The SQL you gave translates to
>
> "Change the 'Name' field to have the value 'test' in all records where the
> 'ID' field has the value 2".
>
> If there is no such record, then SQL has nothing to do and very
> successfully does exactly nothing.
>
> SQL is "set oriented" and update operations on empty sets always succeed.
>
> I guess you are thinking along procedural/file oriented lines as in
> pseudocode
>
>     record.id = 2;
>     error = readwithlock( file, byID, &record );
>     if (error) raise exception;
>     record.name = 'test';
>     error = updatewithunlock ( file, &record );
>     if (error) raise exception;
>
> SQLite implements UPDATE as a SELECT followed by REPLACE statemenst as if
> written like
>
>      (INSERT OR) REPLACE INTO table SELECT id,'test' FROM table WHERE id =
> 2;
>
> Which is equivalent to (naïve, not using index) pseudocode like
>
>     open( file );
>     while (! eof( file ) )
>     {
>         error = readseqwithlock( file, &record );
>         if (error) raise exception;
>         if (record.id == 2)
>         {
>             record.name = 'test';
>             error = updatewithunlock( file, &record );
>             if (error) raise exception;
>         } else {
>             error = unlock( file );
>             if (error) raise exception;
>         }
>     }
>
> HTH
> Gunter
>
> -----Ursprüngliche Nachricht-----
> Von: techi eth [mailto:techi...@gmail.com]
> Gesendet: Freitag, 02. August 2013 10:15
> An: General Discussion of SQLite Database
> Betreff: [sqlite] Where Clause
>
> Come across one issue with conditional query execution.
>
> Query: UPDATE COMPANY SET Name= 'test' WHERE ID = 2; According to my
> understanding if no ID = 2 is present in table then error should return but
> it return with SQLITE_OK however Name value is not changed.
>
> Cheers -
> Techi
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
>
> --------------------------------------------------------------------------
>  Gunter Hick
> Software Engineer
> Scientific Games International GmbH
> Klitschgasse 2 – 4, A - 1130 Vienna, Austria
> FN 157284 a, HG Wien
> Tel: +43 1 80100 0
> E-Mail: h...@scigames.at
>
> This e-mail is confidential and may well also be legally privileged. If
> you have received it in error, you are on notice as to its status and
> accordingly please notify us immediately by reply e-mail and then delete
> this message from your system. Please do not copy it or use it for any
> purposes, or disclose its contents to any person as to do so could be a
> breach of confidence. Thank you for your cooperation.
> _______________________________________________
> 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