Re: BUG - possible UPDATE bug in multi-record?
От | Hiroshi Inoue |
---|---|
Тема | Re: BUG - possible UPDATE bug in multi-record? |
Дата | |
Msg-id | 3BCE71A4.7863BB4C@tpf.co.jp обсуждение исходный текст |
Ответ на | BUG - possible UPDATE bug in multi-record? (Keith Gray <keith@heart.com.au>) |
Список | pgsql-odbc |
Keith Gray wrote: > > Using this style of command through an SQL tool it > decrements each row in the list by 1 cent. > > UPDATE GeneralLedger > SET CBalPer0 = CBalPer0 + (-0.01), > PBalPer0 = PBalPer0 + (-0.01) > WHERE AccountSequence IN (56,54,3,2) > > (I only use the brackets to handle sign of amount > as in next example) > > Trying to execute it through ODBC... Please start the postmaster with -d option and see what queries are issued at backend ? > > Amount = -0.01 > AccountSequence = "(56,54,3,2)" Isn't it * AccountSequenceList = "(56,54,3,2)" * ? regards, Hiroshi Inoue > SQL= "UPDATE GeneralLedger " & _ > "SET CBalPer0 = CBalPer0 + (" & Amount & "), " & _ > "PBalPer0 = PBalPer0 + (" & Amount & ") " & _ > "WHERE AccountSequence IN " & AccountSequenceList > > myConnection.Execute(SQL) > > ...causes movements in other accounts and incorrect balances! > > I am trying with 2 separate UPDATE statements... > > SQL= "UPDATE GeneralLedger " & _ > "SET CBalPer0 = CBalPer0 + (" & Amount & "), " & _ > "WHERE AccountSequence IN " & AccountSequenceList > > myConnection.Execute(SQL) > > SQL= "UPDATE GeneralLedger " & _ > "SET PBalPer0 = PBalPer0 + (" & Amount & ") " & _ > "WHERE AccountSequence IN " & AccountSequenceList > > myConnection.Execute(SQL) > > ...and yes this does work. > > -- > Keith Gray
В списке pgsql-odbc по дате отправления: