Базы данных и знаний. Проектирование баз данных по технологии "клиент-сервер" и разработка клиентских приложений. Токмаков Г.П. - 56 стр.

UptoLike

Составители: 

- 56-
2.2.7. ХРАНИМЫЕ ПРО ЦЕДУРЫ
Рассмотренный механизм шаблонов очень удобен, когда при генерации
схемы требуе тс я повторить одну и ту же операцию для нескольких объектов
модели. Далее мы будем создавать хранимые процедуры вставки, изменения и
удаления записей, которые будут иметь одинаковую структуру для всех табл иц.
Поэтому для хранимых процедур можно создать шаблоны для вставки, измене-
ния и удаления записей, а затем использовать их для всех таблиц базы.
Запрос на создание процедуры вставки записи имеет вид
SET TERM !! ;
CREATE PROCEDURE <имя процедуры> (<параметр тип>, ...)
AS BEGIN
INSERT INTO <имя таблицы> (<имя поля>, <имя поля> ...)
VALVES (<: параметр>, <: пар аметр > ...)
END ! !
SET TERM ; !!
Здесь SQL-выражение SET TERM устанавливает в качестве разделителя по-
следовательность символов « ! !», а при окончании процедуры возвращает ста-
рое значение разделителя «;».
Пр имем правило, согласно которому имя процедуры образуется от имени
табл ицы, путем добавления перед ним префикса «ins_». Параметрами проце-
дуры будут все поля табл ицы, кроме автоинкрементного поля, значение кото-
рого генерируется триггером.
Для таблицы GROUPS процедура вставки создается следующим запросом
SET TERM !! ;
CREATE PROCEDURE ins_groups (name_group CHAR(30),
kol_students SMALLINT,
sredniyj_ball SMALLINT)
AS BEGIN
INSERT INTO PART_TYPE (equip_name,kol_students,sredniy_ball)
VALUES ( : equip__name, : kol_students, : sredniy_ball) ;
END ! !
SET TERM ; !!
Процедура изменения записи таблицы имеет вид
SET TERM !! ;
CREATE PROCEDURE <имя процедуры> (<параметр тип>, ...)
AS BEGIN
UPDATE <имя таблицы>
SET <имя поля> = <:параметр>, <имя поля> = <:пар аметр > ...
WHERE <ключ> = <параметр> AND <ключ> = <пар аметр > ... ;
END ! !
SET TERM ; !!
Как и в предыдущем случае, имя этой процедуры создадим из имени табл и-
цы, добавив к нему префикс «upd__». В отличие от предыдущей процедуры, па-
раметры здесь должны содержать и ключевое поле, по которому
устанавливается