Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Процедуры





· eqtRentEnd (eqtid, salesmanid) – завершить ренту проката по номеру снаряжения

CREATE OR REPLACE procedure adduser (name1 in char, bd1 in date, phone1 in integer, fac1 in integer, spec1 in integer, course1 in integer)

is

begin

insert into readers (id_card_readers,surname_name, birthday, phon_number, faculty_id, spetialty_id, course_id) values

(seq_readers.nextval,name1, bd1, phone1, fac1, spec1, course1);

end adduser;

 

CREATE OR REPLACE procedure endRent (bookid in integer)

is

datetake11 date;

begin

 

select

date_take into datetake11

from

take_return

where

fact_Ret is null and id_book=bookid;

 

update take_Return

set fact_ret = sysdate

where id_book=bookid and date_take=datetake11;

end endRent;

 

CREATE OR REPLACE procedure rentstart (bookid in integer, userid in integer, date11 in date)// рента прокат книги, добавляет запись о том, что выдали книгу в прокат

is

begin

insert into take_return (id_card, date_take, date_Ret, id_book) values (userid, sysdate, date11, bookid);

end;

Функции

· isBookFree (bookid in integer) – получить список всех свободных книг.

CREATE OR REPLACE function isBookFree (bookid in integer) return integer

is

count11 integer;

count12 integer;

begin

select

count(*) into count12

from

take_return

where

id_book=bookid;

if count12=0 then return 1;

end if;

select

count(*) into count11

from

take_return,

(select

max(date_take) maxtake

from

take_return

where

id_book=bookid) tt1

where

take_Return.date_take=tt1.maxtake and id_book=bookid and fact_ret is not null;

if count11=1 then return 1; else return 0;

end if;

 

end isBookFree;

/

 

 

rentEndDelay (bookid in integer)-

CREATE OR REPLACE function rentEndDelay (bookid in integer) return real

is

dateret11 date;

begin

select

date_ret into dateret11

from

take_return

where

fact_Ret is null and id_book=bookid;

return (sysdate-dateret11)*50;

end rentEndDelay;

Обзоры

 

 

В БД имеется обзоры:

Debtors. Выводит список всех не сданных книг.

 

Free_books. Выводит список всех свободных книг.

 

Последовательности (счетчики)

Для каждой таблицы создан одноименный счетчик вида seq_имя_таблицы.

 

Date: 2016-01-20; view: 351; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию