Процедура

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
atla
Сообщения: 3
Зарегистрирован: 12 авг 2005, 10:28

Процедура

Сообщение atla » 12 авг 2005, 10:36

Добрый день
Вопрос
есть процедура, в ней 2 вложенных цикла for
внутри второго цикла по условию идет update
как можно сделать если произошел update выйти из внутреннего цикла и не перебирать бесполезно остальные записи, и вернуться на внешний

как это выглядит

BEGIN
fot
select * from table....
do
begin
for select * from table1 ......
do
if ($num = 1)
Update ......

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 12 авг 2005, 15:14

Если сервер - FB, то BREAK.

atla
Сообщения: 3
Зарегистрирован: 12 авг 2005, 10:28

Сообщение atla » 12 авг 2005, 17:32

Сервер FB версия 1.5.2 нет команды break

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 12 авг 2005, 17:59

atla писал(а):Сервер FB версия 1.5.2 нет команды break
Покрали? Где искал?

atla
Сообщения: 3
Зарегистрирован: 12 авг 2005, 10:28

Сообщение atla » 12 авг 2005, 18:08

для работы с базой данных используемся клиент EMS QuickDesk
так вот когда пишешь break и пытаешся скомпилировать процедуру он выдает ошибку. Precompiler Error: unknown variable - break.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 12 авг 2005, 18:44

Слово "precompiler" никаких ассоциаций не вызывает? Это сообщение QuickDesk, а не сервера. Либо устаревший, либо ему, как и Эксперту, надо где-то явно указать, что он имеет дело с FB1.5, а не с какой-либо версией IB.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 авг 2005, 16:35

relnotes к 1.5 надо читать. вместо break уже давно leave. break если и остался, то как deprecated.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 15 авг 2005, 19:56

kdv писал(а):relnotes к 1.5 надо читать. вместо break уже давно leave.
в данном контексте монопенисуально. Там EMS виноват.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 15 авг 2005, 20:07

dimitr писал(а):
kdv писал(а):relnotes к 1.5 надо читать. вместо break уже давно leave.
в данном контексте монопенисуально. Там EMS виноват.
Кстати, у меня есть несколько процедур с локальными переменными с именем FIRST. Экспертом их не создать и не проальтерить и вообще не подступиться, хотя isql-WISQL - no problem. Тоже пример более жёсткого отношения стороних парсеров к ключевым словам.

Ответить