Выборка из справочника: цикл или логическое условие
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
pavelskv Участник
Вступление в Клуб: 18.01.2008
|
Ср Авг 27, 2008 09:42  Выборка из справочника: цикл или логическое условие |
|
Полезность: Нет оценки
|
Будут ли два примера ниже выполнять одно и то же?
Код: | for st in ::[VPB_DECL_STATE] where st.[DECL_ON_GET] = v_this
loop
st.[DELETE#AUTO];
end loop; |
Код: | ::[VPB_DECL_STATE]([DECL_ON_GET] = v_this).[DELETE#AUTO]; |
v_this - текущий экземпляр Заявки |
|
 |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Ср Авг 27, 2008 10:12   |
|
Полезность: 1
|
Разные конструкции.
Во втором варианте, в лучшем случае, операция выполнится лишь над одним экземпляром с [DECL_ON_GET] = v_this (если таких несколько).
Цитата: | Фактически конструкция представляет собой упрощенный вариант модификатора %locate (см. 1.2.13.16), которая дополнительно вычисляется на этапе компиляции. При этом в зависимости от заданной опции поиска прагмой SUBSTITUTE (см. п.1.2.14) используется точный поиск (по умолчанию, с опцией exact – см.п.1.2.13.3) с генерацией исключений, либо обычный поиск без генерации исключений, когда в случае отсутствия экземпляра будет возвращено пустое значение, а в случае нескольких экземпляров будет возвращен первый из найденных. |
|
|
 |
lexoos Участник - экстремал
Вступление в Клуб: 06.11.2007
|
Пт Авг 29, 2008 13:47   |
|
Полезность: Нет оценки
|
lexus пишет: | Во втором варианте, в лучшем случае, операция выполнится лишь над одним экземпляром с [DECL_ON_GET] = v_this (если таких несколько).
|
по умолчанию, сгенерится ошибка to_many_rows
Последний раз редактировалось: lexoos (Пт Авг 29, 2008 13:51), всего редактировалось 1 раз |
|
 |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Пт Авг 29, 2008 13:50   |
|
Полезность: Нет оценки
|
Цитата: | в случае нескольких экземпляров будет возвращен первый из найденных |
Сам не проверял. Думаю, там прагмой можно это поведение регулировать. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|