Базы данных - модели, разработка, реализация
и типом, созданного владельцем БД
/* проверка существования в системном каталоге объекта с данным именем
и типом, созданного владельцем БД */
If exists (select * from sysobjects where Id = object_id(?dbo.NEW_BOOKS?) and sysstat & Oxf = 4)
/* если объект существует, то сначала его удалим из системного каталога */
drop procedure dbo.NEW_BOOKS
CREATE PROCEDURE NEW_BOOKS (@SBN varchar(12).@TITL varchar(255).@AUTOR
varchar(30),@COAUTOR varchar(30).@YEARIZD 1nt,@PAGES INT,@NUM_EXEMPL INT)
/* процедура ввода новой книги с указанием количества экземпляров данной книги
параметры
@ISBN varchar(12) шифр книги
@TITL varchar(255) название
@AUTOR varcharOO) автор
@COAUTOR varcharOO) соавтор
@YEARIZD int год издания
@PAGES INT количество страниц
@NUM_EXEMPL INT количество экземпляров
*/
AS
DECLARE @TEK int
declare @INV int
INSERT INTO BOOKS VALUES(@ISBN.@TITL.@AUTOR.@COAUTOR,@YEARIZD.@PAGES)
/* назначение значения текущего счетчика оставшихся к вводу экземпляров*/
SELECT @ТЕК = @NUM_EXEMPL
/* определение максимального значения инвентарного номера в библиотеке */
265
SELECT @INV - SELECT MAX( ID_EXEMPLAR) FROM EXEMPLAR
/* организуем цикл для ввода новых экземпляров данной книги */
WHILE @TEK>0 /* пока количество оставшихся экземпляров больше нуля */
BEGIN
insert Into EXEMPLAR (IDJXEMPLAR.ISBN.DATA_IN.DATA_OUT.EXIST)
VALUES (@INV,@ISBN.GETDATE().GetDate(). TRUE)
/* изменение текущих значений счетчика и инвентарного номера */
SELECT @ТЕК = @ТЕК - 1
SELECT @INV = @INV + 1
End /* конец цикла ввода данных о экземпляре книги*/
GO
Хранимые процедуры могут вызывать одна другую. Создадим хранимую процедуру, которая возвращает номер читательского билета для конкретного читателя.
if exists (select * from sysobjects where id = object_id(?dbo. CK_READER?) and sysstat & Oxf = 4)
/* если объект существует, то сначала его удалим из системного каталога */
drop procedure dbo.CK_READER
/* Процедура возвращает номер читательского билета, если читатель есть и 0 в
противном случае.
Содержание
Назад
Вперед
Fore
kc
.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий