BUG - possible UPDATE bug in multi-record?
От | Keith Gray |
---|---|
Тема | BUG - possible UPDATE bug in multi-record? |
Дата | |
Msg-id | 3BCE28F9.7AFBBF39@heart.com.au обсуждение исходный текст |
Список | pgsql-odbc |
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... Amount = -0.01 AccountSequence = "(56,54,3,2)" 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 Technical Development Manager Heart Consulting Services P/L mailto:keith@heart.com.au
В списке pgsql-odbc по дате отправления: