[Oracle] Различный результат выполнения функции разными сессиями

wwoland

Есть хранимая процедура, которая дергается напрямую из PL/SQL Developera и програмно.
Параметры входные одинаковые, результат разный, почему это может быть?
Выывается процедура из под одного и того же пользователя.
:(

pitrik2

ну может она рэндом внутри использует
или текущее время дня
как мы можем ответить на твой вопрос не видя кода процедуры?

wwoland

В том то и дело, что одним лдин способ дает все время один результат, другой способ дает все время другой результат.
А вопрос - он абстрактный, что например может привести к подобному. :)
Просто предположение, в какую сторону можно посмотреть :)

Dasar

как минимум могут быть какие-то изменения не про комитчены
и developer, и код - могут неявные преобразования над параметрами делать при передаче их базе

pitrik2

у меня с дельфи один раз такое было
напрямую вызываю функцию - один результат
вызываю ее же из дельфи - другой результат, но не всегда а иногда
оказалось что в varchar2 я клал нечитаемые символы, ораклу на это пофиг а дельфовскому драйверу не пофиг, он эти символы обрезал
это я к тому, что для начала удостоверься что входные параметры одни и те же
я делал так: в самом начале хранимой процедуры вывел данные в левую таблицу
причем для строк вывел коды символов
так и увидел что некторые коды отсутствовали

0000

В определении процедуры слова DETERMENISTIC случайно нет?
Скорее всего меняются данные, через которые получается возвращаемый результат.
Без кода процедуры - это гадание на кофейной гуще.

wwoland

Спасибо, мне собственно это гадание и интересно было :)

sinet

Чем результат отличается? Мож просто региональные настройки на клиентах разные?
Да и в принципе ХП может проверять из какого приложения её дергают и изменять результат. :)

pitrik2

мне собственно это гадание и интересно было
тоесть ты над нами издеваешься?

wwoland

С чего ты взял?

klyv

тоесть ты над нами издеваешься?
просто эксперименты ставитъ
Оставить комментарий
Имя или ник:
Комментарий: