Студопедия — Решение. 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; просмотров: 448. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

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

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

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