Обсуждение: Sql Update Sentence

Поиск
Список
Период
Сортировка

Sql Update Sentence

От
mariolos
Дата:
hello to all!!! i have a quiestion and problem, i need replace a value from a field with other value, i try using this sql sentence:

update packing_acum set corr=corr + 200) BETWEEN 26821 AND 27340 and extract(year from fec_prod) = 2009 AND cod_packing  between 2321 and 2327

but this error appear..

ERROR:  column "corr" is of type numeric but expression is of type boolean
HINT:  You will need to rewrite or cast the expression.
********** Error **********

ERROR: column "corr" is of type numeric but expression is of type boolean
Estado SQL:42804
Sugerencias:You will need to rewrite or cast the expression.


where is the problem??

thx in adv.

Re: Sql Update Sentence

От
Adrian Klaver
Дата:
On Saturday 23 May 2009 12:13:58 pm mariolos wrote:
> hello to all!!! i have a quiestion and problem, i need replace a value from
> a field with other value, i try using this sql sentence:

Is this the entire actual SQL statement? If so see below.

>
> update packing_acum set corr=corr + 200) BETWEEN 26821 AND 27340 and
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
First no left parentheses. Second the BETWEEN clause is operating on corr + 200
and resolving to true or false which is the being used to update corr. Since
corr is numeric the update fails.

> extract(year from fec_prod) = 2009 AND cod_packing  between 2321 and 2327
>
> but this error appear..
>
> ERROR:  column "corr" is of type numeric but expression is of type boolean
> HINT:  You will need to rewrite or cast the expression.
> ********** Error **********
>
> ERROR: column "corr" is of type numeric but expression is of type boolean
> Estado SQL:42804
> Sugerencias:You will need to rewrite or cast the expression.
>
>
> where is the problem??
>
> thx in adv.



--
Adrian Klaver
aklaver@comcast.net

Re: Sql Update Sentence

От
Martijn van Oosterhout
Дата:
On Sat, May 23, 2009 at 03:13:58PM -0400, mariolos wrote:
> hello to all!!! i have a quiestion and problem, i need replace a value from
> a field with other value, i try using this sql sentence:
>
> update packing_acum set corr=corr + 200) BETWEEN 26821 AND 27340 and
> extract(year from fec_prod) = 2009 AND cod_packing  between 2321 and 2327
>
> but this error appear..
>
> ERROR:  column "corr" is of type numeric but expression is of type boolean
> HINT:  You will need to rewrite or cast the expression.
> ********** Error **********

There's a syntax error in your statement, so please send what the
actual query is. But if I imagine an extra brace then it's true that
you're trying to assign a boolean to a numeric:

a BETWEEN b AND c

is a boolean expression.

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while
> boarding. Thank you for flying nlogn airlines.

Вложения