I was checking for Update only if condition will match.

In fact it can be any operation like SELECT,INSERT,UPDATE or DELETE

I think hint given by you using count() function will do the required.

So here If condition matches then count will return nonzero value & based
on that I can continue further.

Thanks


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

> Please describe in simple words what you are trying to do.
>
> UPDATE <table> SET <field>=<value> WHERE <condition>
>
> Will change the value of <field> in all records of the <table> that
> satisfy the <condition>.
>
> You seem to be expecting that the field is changed also in records that do
> not satisfy the condition.
>
> Or perhaps you really want something like:
>
>     BEGIN;
>     SELECT COUNT() FROM <table> WHERE <condition>;
>     if count == 0
>         raise exception
>     else
>         UPDATE ...
>     COMMIT
>
> -----Ursprüngliche Nachricht-----
> Von: techi eth [mailto:techi...@gmail.com]
> Gesendet: Freitag, 02. August 2013 12:36
> An: General Discussion of SQLite Database
> Betreff: Re: [sqlite] Where Clause
>
> 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
>
>
> --------------------------------------------------------------------------
>  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