Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вызов констант / 3 сообщений из 3, страница 1 из 1
25.04.2018, 09:40
    #39635825
Motorin Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов констант
Всем привет.
Есть таблица MYCONST с полями ID,NAME, оба поля уникальны, в ней лежат справочные данные(больше миллиона строк)
ID; NAME
1; Вася
2; Петя
3; Коля
....
Есть пакет MYPACKAGE, в котором есть функция ConstId(pNAME varchar2), по имени(NAME) определяющая ID записи из таблицы MYCONST.
В пакете MYPACKAGE есть константы, которые декларируются так:

c_VASJA constant number := ConstId('Вася');
c_PETJA constant number := ConstId('Петя');
c_KOLJA constant number := ConstId('Коля');

В пакете MYPACKAGE есть функции которые вызывают эти константы по именам в курсорах:
for mycur in
(
select * from employee where empid in (c_VASJA,c_KOLJA)
) loop ... end loop;

Вопрос - в момент исполнения курсора константы уже существуют значениями и обращения к таблице MYCONST не происходит? Или для каждой константы, в момент выполнения курсора, вызывается функция ConstId, делающая запрос к таблице MYCONST?
По другому - в какой момент происходит иницализация константы заданной функцией и константа получает значение, в момент компилляции пакета MYPACKAGE или в момент обращения к константе из процедуры/функици пакета?
Не бейте, может разбирался кто-то?
...
Рейтинг: 0 / 0
25.04.2018, 10:00
    #39635839
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов констант
Motorin SergeyВопрос - в момент исполнения курсора константы уже существуют значениями и обращения к таблице MYCONST не происходит?
А проверить самому?
Запусти в отладке одну из функций и пошагово просмотри, инициализирована ли константа или нет :)
...
Рейтинг: 0 / 0
25.04.2018, 10:37
    #39635874
Motorin Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов констант
Вопрос закрыт))
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вызов констант / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]