Напишите процедуру SET_INCREASE(SL_LIM NUMBER, INC_VAL NUMBER), которая увеличивает надбавку STAFF. INCREASE на заданную во входных параметрах величину INC_VAL при условии, что оклад сотрудника JOBS.SALARY ниже уровня SL_LIM заданного во входных параметрах. Для реализации поставленной задачи используйте явные курсоры с обновлением. Причем поле STAFF.INCREASE должно быть заблокировано для других сеансов до тех пор, пока не будут … Читать далее →
a)1.Последовательность: CREATE SEQUENCE staff_id INCREMENT BY 1 START WITH 13; 2.Процедура: CREATE OR REPLACE PROCEDURE addEmployee(first_name varchar2, last_name varchar2, email varchar2, phone varchar2, birthday date, job varchar2, department varchar2) IS s_id number; j_id number; d_id number; BEGIN if regexp_like(email, ‘\w+@\w+(\.\w{2,4}){1,2}’) then if regexp_like(phone, ‘^\(\d{3}\)\d{3}-\d{2}-\d{2}$’) then if trunc(months_between(sysdate, birthday) / 12) >= 18 then SELECT … Читать далее →
Используя данные из таблиц staff, jobs, departments и locations, создайте представление (view), которое будет содержать информацию о ФИО сотрудника, должности, отделе в котором он работает, его местонахождении и зарплате ([оклад /jobs.salary/ + надбавка /staff.increase/] — 13%). Необходимо учесть, что надбавка может иметь значение null, если это так, то считать надбавку равной нулю. Зарплата должна быть … Читать далее →
Создайте триггер, который при изменении данных (INSERT, UPDATE) в таблице listeners приводит к единому формату фамилию и имя добавляемого слушателя курсов. Первая буква фамилии и имени заглавная, остальные строчные. А также выводит информацию об исключении, возникающем при несоблюдении формата для телефонных номеров (XXX)XXX-XX-XX. Для получения идентификатора слушателя (listeners.LSTNR_ID), используйте нециклическую последовательность (sequence). Начальное значение для … Читать далее →
Загрузите данные из source3.sql в базу. Используя объединения, напишите запрос, который, используя информацию из таблиц staff и listeners, выводит список людей, посещающих курсы повышения квалификации. Причем ФИО должны выводиться в особом порядке: сначала выводятся сотрудники, посещающие курсы, отсортированные по алфавиту, а ниже выводятся слушатели курсов не являющиеся сотрудниками, тоже отсортированные по алфавиту
Загрузите данные из source2.sql в базу. Используя рекурсию в Oracle SQL, напишите запрос, который выводит из таблицы servises информацию в следующем виде: Записи должны быть отсортированы по алфавиту с учетом иерархии. Символом «*» отмечаются те элементы дерева, у которых есть дочерние элементы.
Используя однострочные и многострочные подзапросы, напишите запрос, который бы возвращал из таблиц staff, jobs, departments и locations ФИО, должность, зарплату, отдел, и местонахождение только тех сотрудников, которые работают в отделе на четвертом этаже (location.description содержит «четвертый этаж», регистр не учитывается) и чья зарплата (оклад / jobs.salary / + надбавка / staff.increase /) меньше средней зарплаты … Читать далее →
Используя данные из таблиц staff, jobs, departments и locations, напишите запрос, который возвращает имя, фамилию, должность и зарплату сотрудника (оклад /jobs.salary/ + надбавка /staff.increase/), отдел в котором он работает и его местонахождение. Причем вывести только тех сотрудников, у которых зарплата не превышает установленного максимального оклада /jobs.salary_max/ для его должности. Необходимо учесть, что надбавка может иметь … Читать далее →