Шаг 18 - Вызов одной процедуры из другой

Вызывать одну процедуру из другой нужно по одной простой причине. Дело в том, что Процедуры могут либо выбирать данные либо их модифицировать. Для того, чтобы с помощью хранимой процедуры найти запись и ее изменить получается нужно две процедуры. Первая будет делать выборку, а вторая изменять. Давайте попробуем. Мы изменим нашу процедуру, которая называется Selects и поставим условия на выборку. Подробнее о условиях смотрите "Шаг 5 - SELECT - дальше и глубже". Итак делаем:

gif/18_1.gif (3368 b)

Напишем вторую процедуру.

gif/18_2.gif (2959 b)

Вот, смотрите мы из нее вызываем Selects, чтобы иметь возможность получить запись. Потом говорим, что будем обновлять таблицу Piple и меняем значение ID. Теперь мы может вызвать эту процедуру.

EXECUTE Updates

И данные будут заменены. Вы с первого запуска в ISQL_w можете не увидеть результат, так как в Result будет отражен запрос Selects, который мы вызвали в первый раз. Так что не удивляйтесь. Вызовите Selects после обновления, чтобы сразу видеть два результата. Сразу после Set еще раз Execute, тогда вы будете видеть старое и новое значение. Вот так например:

ID          Name  
----------- ------
400         HHH

(5 row(s) affected)

ID          Name  
----------- -------
900         HHH  

(1 row(s) affected)

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.