Студопедия — Решение. DBMS_OUTPUT.PUT_LINE ('Нет накладной с номером '||TO_CHAR(&n));
Студопедия Главная Случайная страница Обратная связь

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

Решение. DBMS_OUTPUT.PUT_LINE ('Нет накладной с номером '||TO_CHAR(&n));

DBMS_OUTPUT.PUT_LINE ('Нет накладной с номером '||TO_CHAR(&n));

END;

/

 

 

Пример 6. Определить стаж работников с кодом должности ‘08’

SELECT ks,fio, stag(hireday,sysdate) as СТАЖ From sotrud where kd=’08’

Пример 8. Разработать процедуру для занесения имени текущего пользователя в таблицу log_users с двумя полями: код пользователя (user_name), дата и время соединения (log_date).

CREATE OR REPLACE PROCEDURE

ins _log_users IS

BEGIN

INSERT INTO log_users (user_name, log_date) values (USER,SYSDATE);

END;

 

Для запуска процедуры:

begin

ins_log_users;

end;

Пример 9. Разработать процедуру с именем man_com, которая подсчитывает сумму продаж (vsp) определенного менеджера за заданный период времени и начисляет ему премию (vprem) в зависимости от vsp по следующему алгоритму:

если vsp <20000, то vprem=vsp*0.04,

если 20000=<vsp <30000, то vprem=vsp*0.05,

если 30000=<vsp <40000, то vprem=vsp*0.07,

если vsp >=40000, то vprem=vsp*0.09.

CREATE OR REPLACE PROCEDURE man_com (km IN NUMBER:=1,d1 IN DATE, d2 IN DATE,

vprem OUT NUMBER) IS

vsp NUMBEr(9,2):=0;

e_no_data EXCEPTION;

BEGIN

SELECT SUM(t.kol*t.cena) INTO vsp FROM tovar_v_nakl t

INNER JOIN nakladnay n On t.n_nakl=n.n_nakl

WHERE n.data_nakl>=d1 AND n.data_nakl<=d2

AND n.kod_men=km group by n.kod_men;

DBMS_OUTPUT.PUT_LINE('Сумма продаж ='||TO_CHAR(vsp));

IF vsp=0 THEN

RAISE e_no_data;

ELSE

vprem:=CASE

When vsp<20000 Then vsp*0.04

when vsp>=20000 and vsp<30000 Then vsp*0.05

when vsp>=30000 and vsp<40000 Then vsp*0.07

ELSE vsp*0.09

END;

END IF;

EXCEPTION

WHEN e_NO_DATA THEN

DBMS_OUTPUT.PUT_LINE ('Проверьте правильность входных параметров');

END;

/

show errors

 

Пример 10. Написать процедуру, которая должна изменить оклад какому-то менеджеру. При этом в дополнительную таблицу history_man следует добавить новую запись, содержащую значение старого и нового окладов и дату внесения изменения в таблицу manager (подпрограмма)

CREATE OR REPLACE PROCEDURE izm_oklad

(pkm number, p_oklad_new number) IS

Vkm number(2);

voklad_old number(9,2);

PROCEDURE ins_hist (pkm number, p_oklad_old number, p_oklad_new number)

IS

BEGIN

INSERT INTO history_man VALUES (pkm, p_oklad_old, p_oklad_new,Sysdate);

END ins_hist;

BEGIN

SELECT oklad into voklad_old FROM manager WHERE kod_men=pkm;

UPDATE manager SET oklad=p_oklad_new WHERE kod_men=pkm;

Ins_hist(pkm, voklad_old,p_oklad_new);

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE ('Нет менеджера с кодом, равным '|| TO_CHAR(pkm));

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE(SQLERRM);

END;

/

 

Решение.

1. В первой и третьей строках таблицы истинности значение функции равно 1.

2. Так как строки две, получаем дизъюнкцию двух элементов: () V ().

3. Каждый логический элемент в этой дизъюнкции запишим в виде конъюнкции аргументов функции X и Y: (X & Y) V (X & Y).

4. Берем аргумент с отрицанием если его значение в соответствующей строке таблицы равно 0 и получаем искомую функцию:
Z (X, Y) =(X & Y) V (X & Y).

http://qo.do.am/publ/teorija/laboratornyj_praktikum/postroenie_tablic_istinnosti_i_logicheskik

Таблица истинности – это таблица, показывающая, какие значения принимает составное высказывание при всех сочетаниях (наборах) значений входящих в него простых высказываний

 




<== предыдущая лекция | следующая лекция ==>
Раздаточный материал по теме процедуры-функции | АПЕЛЛЯЦИОННАЯ ЖАЛОБА

Дата добавления: 2015-03-11; просмотров: 449. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Studopedia.info - Студопедия - 2014-2024 год . (0.015 сек.) русская версия | украинская версия