
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.04.2018, 09:40
|
|||
|---|---|---|---|
|
|||
Вызов констант |
|||
|
#18+
Всем привет. Есть таблица 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 или в момент обращения к константе из процедуры/функици пакета? Не бейте, может разбирался кто-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2018, 10:00
|
|||
|---|---|---|---|
Вызов констант |
|||
|
#18+
Motorin SergeyВопрос - в момент исполнения курсора константы уже существуют значениями и обращения к таблице MYCONST не происходит? А проверить самому? Запусти в отладке одну из функций и пошагово просмотри, инициализирована ли константа или нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1884095]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 507ms |

| 0 / 0 |
