Студопедия

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

КАТЕГОРИИ:

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






Описание атрибутных функций






 

Атрибутная функция Тип данных Системное событие Описание
SYSEVENT VARCHAR2(20) Все события Возвращает системное событие активизировавшее триггер
INSTANCE_NUM NUMBER Все события Возвращает номер текущего экземпляра
DATABASE_NAME VARCHAR2(50) Все события Возвращает имя текущей БАЗЫ ДАННЫХ.
SERVER_ERROR NUMBER SERVERERROR Принимает один числовой аргумент. Возвращает ошибку на позиции в стеке ошибок, указанной аргументом. Вершина стека позиция -1
IS_SERVERERROR BOOLEAN SERVERERROR Принимает номер ошибки в качестве аргумента и возвращает TRUE, если указанная ошибка Oracle присутствует в стеке ошибок.
LOGIN_USER VARCHAR2(20) Все события Возвращает идентификатор пользователя активизирующего триггер.
DICTIONARY_OBJ_TYPE VARCHAR2(30) CREATE, DROP, ALTER Возвращает тип объекта словаря, над которым выполнялась операция DDL активизировавшая триггер.
DICTIONARY_OBJ_NAME VARCHAR2(30) CREATE, DROP, ALTER Возвращает имя объекта словаря, над которым выполнялась операция DDL активизировавшая триггер.
DICTIONARY_OBJ_OWNER VARCHAR2(30) CREATE, DROP, ALTER Возвращает владельца того объекта словаря, над которым выполнялась операция DDL активизировавшая триггер.
DES_ENCRYPTED_PASSWORD VARCHAR2(30) CREATE USER, ALTER USER Возвращает зашифрованный в стандарте DES пароль создаваемого или изменяемого пользователя.

Варианты заданий к лабораторной работе №6

Общие положения

В лабораторной работе в примерах тела триггеров написаны так, что их можно полностью копировать, вставлять в утилиту SQL *Plus Worksheet и запускать (F5) для их создания на сервере. Если создавать триггер в Enterprise MANAGER Console через мастер создания, то первая строка с конструкцией CREATE OR REPLACE TRIGGER имя_триггера не копируется, а само имя_триггера заносится в поле Name.

Создайте примеры триггеров в вашем табличном пространстве. Проверьте их работу.

По вариантам в утилите SQL *Plus Worksheet создайте триггеры, причем каждую программу сохранять на диске в отдельном файле с названием ФамилияСтудента_ЛАб_6_№_варианта_№_задания.

 

Список заданий

Вариант 1

1. Создать строковый триггер, который будет фиксировать ФИО и код каждого сотрудника в отдельно организованной таблице, у которого изменяли данные его детей.

2. Создать строковый триггер, который будет фиксировать данные о подарках, которые удалили, с именем пользователя в отдельно организованной таблице, который выполнил удаление.

3. Создать операторный триггер, который будет фиксировать операции добавления в любую из трех таблиц с указанием даты и времени операции.

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

Вариант 2

1. Создать строковый триггер, который будет фиксировать список приборов с указанным старым и новым типом, при изменении типа прибора в отдельно организованной таблице.

2. Создать строковый триггер, который будет фиксировать количество отремонтированных приборов и общую стоимость ремонтов с указанием имени мастера в отдельно организованной таблице у мастера, информация о котором удаляется.

3. Создать операторный триггер, который будет фиксировать операции добавления владельца прибора в таблицу владельцев и наименование прибора, с которым он пришел в отдельно организованной таблице, а также с указанием имени пользователя и даты операции.

4. Создать системный триггер на уровне схемы, который будет фиксировать в отдельно организованной таблице информацию о пользователях и объектах, структуру которых изменяют.

Вариант 3

1. Создать строковый триггер, который будет фиксировать старое и новое наименование цветка с типом листа в отдельно организованной таблице, если изменяется наименование цветка в таблице или удаляется цветок из таблицы.

2. Создать строковый триггер, который будет фиксировать коды продаж и даты продаж в отдельно организованной таблице при добавлении записи в таблицу продаж.

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

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

Вариант 4

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

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице дату поставки и наименование лекарства, которого продано больше указанного числа.

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

4. Создать системный триггер на уровне схемы, который будет фиксировать в отдельно организованной таблице информацию о пользователях и объектах, структуру которых создают.

Вариант 5

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице сотрудника с должностью при добавлении нового сотрудника в таблицу сотрудников.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице наименование списанного оборудования, тип операции, на которую запущен триггер, и дату списания по указанной причине при добавлении или изменении записи в таблице списания.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице информацию о дате поступления, названии оборудования, ФИО ответственного для оборудования, списанного указанным пользователем.

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

Вариант 6

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице наименование блюда с его весом при изменении данных в таблице блюд.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице наименование продукта, в названии которого встречается указанный фрагмент слова, при добавлении продукта в справочник продуктов.

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

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

Вариант 7

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице сотрудника с должностью при добавлении нового сотрудника в таблицу сотрудников.

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

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице дату операции, имя пользователя при удалении документов.

4. Создать системный триггер, который будет фиксировать в отдельно организованной таблице информацию о пользователях, запускающих экземпляр БД, и датах операции.

Вариант 8

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице данные сотрудника, на которого формируют документ об увольнении.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию о документах, которые регистраруют датой меньшей текущей системной даты.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице дату операции, вид операции, имя пользователя при удалении, добавлении или изменении данных в справочнике статей увольнения.

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

Вариант 9

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице данные сотрудника, которого оформляют в отпуск указанного типа.

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

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице дату операции, вид операции, имя пользователя при удалении, добавлении или изменении данных в справочнике отпусков.

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

Вариант 10

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице Ф.И.О. отправителя, которого удалили из таблицы отправителей.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице дату операции и информацию о документах, которые изменяются.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип и дату операции при изменении, удалении или удалении данных из справочника организаций-получателей.

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

Вариант 11

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице льготы по должности, которую добавили в справочник должностей.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице код документа, пользователя, если документ регистрируется датой меньшей системной.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице с указанием типа и даты операции при изменении, удалении или удалении данных из справочника сотрудниковов.

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

Вариант 12

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новой название оборудования, которое изменяют.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию о клиенте, которого удалили.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы регистрации проката.

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

Вариант 13

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице дату операции, пользователя и информацию об оборудовании, которое пытаются повторно списать.

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

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы регистрации проката.

4. Создать системный триггер на уровне схемы, который будет фиксировать в отдельно организованной таблице информацию о пользователях и объектах, структуру которых создают.

Вариант 14

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новое название цветка при изменении информации о цветке при условии, что новое значение средней высоты больше 15.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице коды поступлений и наименования цветов при добавлении записи в таблицу поступлений.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы поставщиков.

4. Вывести список цветов и сорт для цветов с высотой больше определенного числа или цветущий.

Вариант 15

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию о клиенте, которого добавили в справочник клиентов при условии, что фамилия начинается на ‘ИВ’.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новое значение перечня удобств при изменении данных в справочнике номеров.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы регистрации клиентов в номерах.

4. Вывести список зарегистрированных клиентов в номерах определенного типа.

Вариант 16

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию о добавляемом оборудовании при типе оборудования ‘комбайн’.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новое имя клиента и дату операции при изменении фамилии клиента.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы регистрации проката.

4. Вывести информацию о клиентах, отсортированных по адресам.

Вариант 17

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию об удаляемой ценности с закупочной стоимостью больше 15000.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новое название подразделения при изменении данных в справочнике материально ответственных.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы учета материальных ценностей.

4. Вывести список материально ответственных лиц с датой приема на работу в указанном диапазоне.

Вариант 18

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

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новое наименование этапа работы при изменении данных в таблице с описанием возможных этапов этапов работ.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы мастеров.

4. Вывести список мастеров с датой приема на работу в указанном диапазоне.

Вариант 19

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице данные о лекарстве, которые удаляются.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице номера чеков и наименования лекарства при добавлении записи в таблицу состав чека с условием, что количество проданного лекарства больше 10.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы с общей информацией о чеке.

4. Вывести список лекарств и единицы измерения для лекарств с количеством в упаковке больше указанного числа или кодом лекарства меньше определенного значения.

Вариант 20

1. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице информацию о исполнителе, при изменении даты приема на работу.

2. Создать строковый триггер, который будет фиксировать в отдельно организованной таблице старое и новое содержание документа, если в таблице регистрации документов удаляется или изменяется запись.

3. Создать операторный триггер, который будет фиксировать в отдельно организованной таблице тип, пользователя и дату операции при изменении, удалении или удалении данных из таблицы учета исполнения документов.

4. Вывести список зарегистрированных документов с указанным типом документа или с кодом документа в определенном диапазоне.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.014 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал