Разработка алгоритмов и программы вероятностной и детерминированной проверки чисел на простоту, страница 4

ticket_meropriyatie.id_tickets=ticket.id_tickets except

select _nazvanie, _mesto,_tip,_price, _status,_datetime

from ticket, meropriyatie, theatre_meropriyatie, ticket_meropriyatie, klients_tickets, klient, theatre

where  ticket.id_tickets = klients_tickets.id_tickets

2.3 Создание пользовательских функций

Создание пользовательских функций в СУБД Microsoft SQL Server 2005 было реализовано с помощью выполнения скриптов.

Функция, возвращающая логин клиента с указанным адресом электронной почты.

create function log_kl (@e_mail varchar (30))

returns table

as

return

select _login

      from klient

      where e_mail = @e_mail

Функция, возвращающая сведения о мероприятиях всех театров, запланированных на указанный день.

create function mer_day (@_datetime1 datetime, @_datetime2 datetime)

returns table

as

return

select _vid,_nazvanie, _opisanie, theatre_name,_datetime

      from meropriyatie, theatre, theatre_meropriyatie

      where _datetime >= @_datetime1 and _datetime <= @_datetime2 and

      theatre.id_theatres=theatre_meropriyatie.id_theatres and

    meropriyatie.id_meropriyaties=theatre_meropriyatie.id_meropriyaties

Функция, возвращающая сведения о мероприятиях указанного театра в текущем месяце. Параметр – название театра.

create function mer_the (@theatre_name varchar (50))

returns table

as

return

select theatre_name, _nazvanie, _vid, _opisanie, _datetime

      from meropriyatie, theatre, theatre_meropriyatie

      where theatre_name = @theatre_name and

      _datetime between '2012-11-01 00:00:00' and '2012-12-31 00:00:00' and

     theatre.id_theatres=theatre_meropriyatie.id_theatres and

     meropriyatie.id_meropriyaties=theatre_meropriyatie.id_meropriyaties

Функция, возвращающая сведения об имеющихся в наличии билетах указанного типа на указанное мероприятие в указанном театре. Параметры: тип билетов, название мероприятия, название театра.

create function mer_th_type (@theatre_name varchar(50),@_nazvanie varchar(100),@_tip varchar(50))

returns table

as

return

select theatre_name, _nazvanie, _vid, _opisanie, _tip, _datetime,_mesto,_status

      from meropriyatie, theatre, theatre_meropriyatie, ticket, ticket_meropriyatie

      where theatre_name = @theatre_name and

           _nazvanie =@_nazvanie  and

           _tip=@_tip and

           theatre.id_theatres=theatre_meropriyatie.id_theatres and

         ticket.id_tickets=ticket_meropriyatie.id_tickets and

         ticket_meropriyatie.id_meropriyaties=theatre_meropriyatie.id_meropriyaties

Функция, возвращающая сведения о ценах на различные типы билетов в указанном театре. Параметр – название театра.

create function price_th (@theatre_name varchar (50))

returns table

as

return

select _price,_tip,_status,_mesto, _nazvanie, theatre_name

      from ticket, theatre, meropriyatie, ticket_meropriyatie, theatre_meropriyatie

      where theatre_name = @theatre_name and

theatre_meropriyatie.id_theatres=theatre.id_theatres and

theatre_meropriyatie.id_meropriyaties=meropriyatie.id_meropriyaties and

ticket_meropriyatie.id_meropriyaties=meropriyatie.id_meropriyaties and

ticket_meropriyatie.id_tickets=ticket.id_tickets

select* from price_th ('Мариинский')

2.4 Создание хранимых процедур

Создание хранимых процедур в СУБД Microsoft SQL Server 2005 было реализовано с помощью создания и выполнения запросов- скриптов.

Процедура регистрации нового клиента.

Входные параметры: фамилия, имя, отчество клиента, телефон, адрес электронной почты.

Процедура должна сама генерировать логин и пароль.

Выходные параметры: логин, пароль.

create proc registr

      @Name varchar(20),

      @telefon varchar(20),

      @e_mail varchar(20),

      @login varchar(20) output,

      @pass varchar(20) output

as

      begin

            set @login = substring (@e_mail, 1, 7)

            set @pass = right(replace(@telefon, '4', 'qdz'), 9)