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