Цитата:
Сообщение от
AndyD
Тоже нет.
Да и вызов на сервер шел не из кэша - exec sp_prepexec
ох уж этот сиквел
X++:
(17:29:55)
"test_table" ("test_table").
SQL .
SQL: ORA-01476: divisor is equal to zero
SQL: UPDATE TEST_TABLE SET C=(A/((A/B)*:in1/*1*/)) WHERE (SUBSTR(NLS_LOWER(DATAAREAID),1,3)=NLS_LOWER(:in2)/*'mil'*/)
Для 0.5
X++:
Update Test_table
Set C = ( A / ( ( A / B ) * :In1 /*0.5*/ ) )
Where ( substr ( nls_lower ( Dataareaid ), 1, 3 ) = nls_lower ( :In2 ) /*'mil'*/ );
действительно поле чудес:
в оракле естественно этот апдэйт (оба) с константами работает без вопросов.
и с bind-переменными если сделать - то тоже.
Т.е. запрос сформирован правильно, и параметр 0.5 пошёл как надо, а 1 как-то по пути к привязке в бинд-переменную превратился в 0.
Ошибка повторяется до k=10, если больше, то работает.

Если тип
k изменить на int - то вообще нет проблем.