Документация Oracle на русском языке





Сайт посвящен разработке информационных систем с использованием технологий Oracle. На сайте можно найти полезную литературу и документацию на русском языке по программированию и администрированию Oracle.Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации.

Главная :: Карта


Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных компании Oracle.



 

DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Изучаем поведение переменных ODI.




Документация Oracle на русском языке





Сайт посвящен разработке информационных систем с использованием технологий Oracle. На сайте можно найти полезную литературу и документацию на русском языке по программированию и администрированию Oracle.Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации.



Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных компании Oracle.



Как я уже рассказывал, в пакете переменные могут быть объявлены, обновлены, им может быть установлено значение или они могут быть использованы для сравнения, с последующим изменением порядка выполнения пакета.
Недавно встретилась ситуация, когда в пакете была такая последовательность для одной переменной: Декларация -> Обновление -> Декларация.
И я решил проверить, это просто ошибка, или в этом есть какой-то смысл?
Для этого я подготовил набор проверок, в ходе выполнения которых я буду проверять следующие аспекты: наличие переменной в сценарии; значение переменной в пакете.
Часть 1. Пакеты.
Ситуация 1. Пакет, с установкой значения переменной.
сценарий: переменная присутствует;
значение: значение - пустая строка.
Ситуации 2-4. Пакет с деклараций, пакет с рефрешем, пакет со сравнением переменной.
сценарий: переменная присутствует;
значение: значения переменной нет, выдается ошибка java.lang.Exception: Variable has no value:
Часть 2. Сценарии. Проверяем только значение переменной.
Ситуация 5. Пакет с одной переменной дважды: (декларация -> обновление). При этом запускается сценарий из этого пакета без ввода значения переменной. При рефреше переменная принимает значение 5.
значение: после декларирования - пустая строка, после обновления - значение 5.
Ситуация 6. Тот же вариант, только в сценарий передается значение для переменной. Передается число 6.
значение: после декларирования 6, после обновления 5.
Ситуация 7. Аналогично предыдущему, только в пакет добавляется еще одна декларация переменной (декларация -> обновление -> декларация), а затем в сгенерированный сценарий передается значение 6.
значение: после декларирования - значение 6, т.е. ровно то, что передавалось в сценарий при запуске, после обновления - 5, после второго декларирования по-прежнему 5.
Выводы:
  • Если для переменной не установлен SQL текст обновления, ее обновление в пакете происходит, тем не менее, без ошибок.
  • Для того, чтобы сценарий имел возможность получать значение в переменную достаточно декларации переменной в пакете.
  • И наоборот, в пакете достаточно обновления переменной или установки ей значения для дальнейшего использования переменной в интерфейсах или процедурах.
  • Последовательное декларирование, обновление и снова декларирование переменной нивелирует переданное при запуске сценария значение этой переменной.
Выходит, то, что я обнаружил в пакете, и что послужило причиной для этого небольшого исследования, просто ошибка разработчика.

jAntivirus
 



jAntivirus