-
В процедуре выполняется запрос, надо узнать сколько он строк обработал?
А как это сделать при использовании execute statement?
-
Видимо, вернуть количество в выходных параметрах? Видимо, так же, как и что-то другое?
-
Может я не точно выразился...
В теле процедуры есть запросы INSERT, UPDATE, DELETE, алгоритм работы этой процедуры зависит от количества обработанных ими записей.
Нужна SQL констукция, аналогичная IBQuery.Affectedrecord в Delphi.
-
ROW_COUNT посмотри.
-
Смотрел. Увы, только для FB и только для select.
-
> алгоритм работы этой процедуры зависит от количества обработанных > ими записей
Чем подробнее пояснишь, тем правильнее получишь ответ. Может тебе и процедура эта не нужна, а всё дело триггерами обойдётся.
-
Необходимо провести "чистку базы" - массовую обработку записей: что-то удалить, добавить, изменить. Часть из них несет за собой каскадное изменение других данных.
Загружать все скрипт (или большими частями) на исполнение нельзя - тормозится работа пользователей, мелкими кусками - много возни. В базе есть признак, по которому можно судить о том, что база "свободна", и можно загрузить часть изменений.
Пока план следующий: Загрузить все скрипты в таблицу, по расписанию выполнять проверку на "свободность", запускать процедуру и вносить часть изменений.
Если найдется более простой вариант - будет здорово.
PS За ночь изменения нельзя прогнать.
-
> Пока план следующий: Загрузить все скрипты в таблицу, по > расписанию выполнять проверку на "свободность", запускать > процедуру и вносить часть изменений.
Какой-то это нехороший план. Но, в любом случае, это никак не поясняет
> В теле процедуры есть запросы INSERT, UPDATE, DELETE, алгоритм > работы этой процедуры зависит от количества обработанных > ими записей. >
-
Запросы выполняются с помощью execute statement
Если есть другие варианты реализации - с удовольствием рассмотрю :)
|