В качестве параметров передаем фамилию
В качестве параметров передаем фамилию и дату рождения */
CREATE PROCEDURE CK_READER (@FIRST_NAME varchar(30) ,@BIRTH_DAY varchar(12))
AS
/*опишем переменную, в которой будет храниться номер читательского билета*/
DECLARE @NUM_READER INT
/* определение наличия читателя */
select @NUM_READER = select NUM_READER from READERS
WHERE FIRST_NAME = @ FIRST_NAME AND
AND convert (varchar (8) .BIRTH_DAY.4)=@BIRTH_DAY
RETURN COALESCE(@NUM_READER.0)
Мы здесь использовали функцию преобразования типа данных dataTime в тип данных varchar(8). Это было необходимо сделать для согласования типов данных при выполнении операции сравнения. Действительно, входная переменная @BIRTH_DAY имеет символьный тип (varchar), а поле базы данных BIRTH_DAY имеет тип SmallDateTime.
Хранимые процедуры допускают наличие нескольких выходных параметров. Для этого каждый выходной параметр должен после задания своего типа данных иметь дополнительное ключевое слово OUTPUT. Рассмотрим пример хранимой процедуры с несколькими выходными параметрами.
266
Создадим процедуру ввода нового читателя, при этом внутри процедуры выполним проверку наличия в нашей картотеке данного читателя, чтобы не назначать ему новый номер читательского билета. При этом выходными параметрами процедуры будут номер читательского билета, признак того, был ли ранее записан читатель с данными характеристиками в нашей библиотеке, а если он был записан, то сколько книг за ним числится.
/* проверка наличия данной процедуры в нашей БД*/
if exists (select * from sysobjects where id =
object_id(N?[dbo] [NEW_READER]?) and OBJECTPROPERTYdd. N?sProcedure?) = 1)
drop procedure [dbo] [NEW_READER]
GO
/* процедура проверки существования читателя с заданными значениями вводимых
параметров
Процедура возвращает новый номер читательского билета, если такого читателя не
было сообщает старый номер и количество книг которое должен читатель в
противном случае */
CREATE PROCEDURE NEW_READER (@NAME_READER varchar(30).@ADRES
va rcha r(40).@HOOM_PHONE char(9).@WORK_PHONE char(9).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий