Курсовые работы, лабораторные, доклады для студентов
можете скачать и поделиться с другими,
если не жалко.

 
на правах рекламы


Субд Interbase. Хранимые процедуры. Исполняемые процедуры и процедуры выборки


Вопрос 34. Субд Interbase. Хранимые процедуры. Исполняемые процедуры и процедуры выборки.

ХП - программа, написанная на яз.программирования, компилятор j встроен в СУБД. Такая прога может содержать управляющие структуры данного языка и операторы, в том числе и яз SQL. ХП - является объектом БД и является готовой к исполнению прогой.


В Interbase различают 2 вида ХП. ХП используются для проверки сложных ограничений семантич.целостности(бизнес-правила), для реализации вычислений, запросов. В режиме "клиент-сервер" ХП используется для вставки, удаления и обновления данных. Клиент передает серверу значения полей(записей), а сервер реализует ту или иную операцию.
В Interbase различают 1) исполняемые проц. (возвращает строку), и 2) проц. выборки(возвр. табл.)
Создание ХП. ХП создаются с помощью утилиты IB Console.

Create procedure [()]
[returns()]
AS

begin

end


Процедура может не иметь входных пар-в и может их не возвращать.
Описание локальных пер-х. Declare Variable
Описание БД.
Должность (код, наименование)
Сотрудник (табельный №, ФИО, дата рожд, код должности)
Create table dolg(kod id primary key, nazv char (50))
Create table sort(tab id primary key, fio char (50), data_rog date, kod_dolg id foreign key(kod_dolg) references dolg(kod) on update cascade)
НО здесь ПК вводится вручную.
ХП вставки в табл. Должность:

create procedure dolg_ins (pkod integer, pnazv char (50))
as
begin
insert intodolg (kod, nazv)
values {показывает, что этот парам-р, изменяющаяся часть команды}
(:pkod, :pnazv);
end
ХП обновления табл. Должность
create procedure dolg_upd (pkod integer, pnazv char (50))
as
begin
update golg
set nazv=:pnazv
where kod=:pkod;
end

Замечание: Код должен передаться в процедуру для определения строки, j следует обновить. Само поле код долж-ти не обновляется, т.к. обновление ПК -крайне редко.

ХП удаления данных из табл. Должность
сreate procedure dolg_del (pkod integer)
as
begin
delete from golg
where kod=:pkod;
end

Вызов исполняемой ХП
Execute procedure [()]
Нап-р: Execute procedure dolg_ins 1(152,:'директор')
Execute procedure dolg_del (152);
Execute procedure dolg_upd (152, 'сторож')
Вызов ХП выборки с помощью Select. Select(*) [()]

Комментарии:

Оставить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.