Студопедия
Главная страница | Контакты | Случайная страница

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

ВОДОРОСЛИ. Создадим для таблицы authsmall триггер типа DELETE, который будет выводить информацию о попытках удаления и количестве удаляемых строк.

Читайте также:
  1. ВОДОРОСЛИ
  2. Водоросли. Общая характеристика. Важнейшие признаки зеленых, бурых и красных водорослей
  3. К прокариотам относят бактерии и сине-зелёные водоросли (цианеи)[7].
  4. Отдел Бурые водоросли.
  5. Отдел Зеленые водоросли
  6. Отдел Зеленые водоросли
  7. Отдел Зеленые водоросли.
  8. Отдел Красные водоросли

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

CREATE TRIGGER auth_de1 ON authsmall

FOR DELETE AS

PRINT 'Попытка удаления '+STR(@@ROWCOUNT)+' строк из таблицы authsmall'

PRINT 'Пользователь '+CURRENTUSER

IF CURRENTUSER!= 'dbo'

BEGIN

PRINT 'Удаление запрещено' ROLLBACK TRANSACTION

END ELSE

PRINT 'Удаление разрешено'

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

Выполним следующую команду:

DELETE FROM authsmall WHERE au_fname='Johnson'.

Или

DELETE FROM authsmall WHERE 2*2=5

Создание триггера, который будет разрешать изменение столбца au_id всем, кроме dbo:

CREATE TRIGGER auth_upd_1 ON authsmall FOR UPDATE AS SET NOCOUNT ON

PRINT 'Попытка изменения данных в таблице authsmall'

IF (COLUMNS_UPDATED() & 1)!=0

PRINT 'Изменение столбца au_id'

IF (COLUMNS_UPDATED() & 2)!=0

PRINT 'Изменение столбца au_fname'

IF (COLUMNS_UPDATED() & 4)!=0

PRINT 'Изменение столбца au_lname'

IF UPDATE(phone)

PRINT 'Изменение столбца phone'

IF (CURRENTUSER ='dbo') AND (COLUMNS_UPDATED() & 1)!=0)

BEGIN

PRINT 'Пользователь dbo не может изменять идентификационный номер автора'

ROLLBACK TRANSACTION

END

Попытаемся выполнить изменение телефона и имени автора:

UPDATE authsmall SET phone = '415 986-7020',

au_fname ='John' WHERE au_lname = 'Green'

Или

UPDATE authsmall SET phone = '913 843-7302',

au_id ='748-12-6859' WHERE au_lname = 'Smith'

Создадим триггер, который запретит удаление авторов, которые уже подписали контракт или проживают вне штата Калифорния:

CREATE TRIGGER auth_del ON authors

FOR DELETE AS

DECLARE @@Result int

SET @@Result = 1

IF EXISTS (SELECT * FROM deleted WHERE contract=l)

BEGIN

PRINT ('Попытка удаления автора с подписанным контрактом')

SET @@Result = 0

END

IF EXISTS (SELECT * FROM deleted WHERE state!= 'CA')

BEGIN

PRINT ('Попытка удаления автора, проживающего вне Калифорнии')

SET @@Result = 0

END

IF @@Result = 0

BEGIN

PRINT 'Удаление запрещено**' ROLLBACK TRANSACTION

END

В триггере пришлось ввести локальную переменную @@Result, которая играет роль флага неудачного выполнения удаления.

Выполним следующий запрос:

DELETE FROM authsmall

Будет получен следующий результат:

Попытка удаления автора с подписанным контрактом. Попытка удаления автора, проживающего вне Калифорнии. Удаление запрещено.

Или

DELETE FROM authsmall WHERE city = 'Vacaville'

В качестве примера рассмотрим создание триггера для таблицы auth2, которое создается с помощью следующей команды:

CREATE TRIGGER auth2_trg ON auth2

INSTEAD OF INSERT, UPDATE, DELETE AS

SELECT * FROM inserted

Выполним следующие запросы.

INSERT INTO auth2

VALUES ('123-45-6789', 'Lock', 'Mack')

Результат:

au_id au_lname au_fname

123-45-6789 Lock Mack

(1 row(s) affected)

Варианты лабораторных заданий

  1. Для созданной в лабораторной работе № 2 таблицы разработать триггер, запускаемый при удалении строки таблицы. Удаленная строка должна быть переписана во вспомогательную таблицу. Произвести несколько удалений строк в основной таблице и просмотреть содержимое вспомогательной таблицы.
  2. Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик числа добавленных строк.
  3. Разработать триггер, запускаемый при модификации таблицы. Триггер должен заносить в журнал (вспомогательную таблицу) информацию о времени модификации и имени пользователя, производившего модификацию таблицы.
  4. Получить информацию о триггере

Литература

  1. Шкарина Л. Язык SQL: учебный курс.-CПб.:Питер,2001.-592с.:ил.
  2. Дубинин В. Работа с базами данных в архитектуре клиент-сервер: Метод. указания к выполнению лабораторных работ. – Пенза: Изд-во Пенз. гос. ун-та. – 2000. – 91 с

 

ВОДОРОСЛИ

Отдел Зеленые водоросли. 17 тыс. видов.

Зеленые водоросли — одноклеточные, колониаль­ные, многоклеточные растения. Встречаются в пресных и соленых водоемах, в сырой почве, на коре деревьев, в симбиозе с грибами (лишайники). Окраску водорос­лям придает зеленый пигмент — хлорофилл. Питаются автотрофно, за счет фотосинтеза, в результате которого синтезируют крахмал.

Размножаются зеленые водоросли бесполым и поло­вым путем. Бесполое размножение осуществляется при помощи спор и вегетативно — фрагментами слоевища. Половое размножение связано с образованием и после­дующим слиянием гамет. В результате образуется зиго­та (2n), дающая начало новому организму. В жизнен­ном цикле преобладает гаметофит — гаплоидное поко­ление (n).

Представители. Одноклеточные: хламидомонада, хлорелла; составляют фитопланктон водоемов, служат пищей водным рачкам и рыбам.

Многоклеточные: улотрикс, спирогира, кладофора.

Отдел Бурые водоросли. 1,5 тыс. видов.

Бурые водоросли — в основном многоклеточные обитатели морского дна до глубины 50 м. Тело пред­ставляет собой слоевище, в котором различают стебле­вую и листовую часть. Крепится к дну с помощью ри­зоидов.

Бурыми эти водоросли называют потому, что кроме хлорофилла они содержат бурые пигменты — фукоксантины и оранжевые — каротиноиды. Питаются ав­тотрофно за счет фотосинтеза. Продуктами фотосинте­за являются сахароспирты.

В цикле развития преобладает споровое поколение — спорофит (2п) — взрослое растение. В спорангиях на спорофите в процессе мейоза образуются споры (п), из которых развивается половое поколение — гаметофит (п). На нем в антеридиях образуются сперматозоиды, а в архегониях — яйцеклетки. После оплодотворения из зиготы развивается спорофит (2п).

Представители: фукус, саргасса, ламинария (мор­ская капуста).

Отдел Красные водоросли, или Багрянки. 6 тыс. видов.

Красные водоросли — многоклеточные организмы, живущие в морях на значительной глубине (100 м и глубже). Они содержат красный пигмент фикоэритрин и синий фикоциан, придающие водорослям характер­ную окраску. Продуктом фотосинтеза является багрянковый крахмал. Оболочки клеток некоторых видов могут минерализоваться солями кальция и магния. Размножаются красные водоросли бесполым и поло­вым путем. В жизненном цикле преобладает бесполое споровое поколение. Бесполое размножение осуществ­ляется при помощи спор и вегетативно. Образующиеся в спорангиях споры гаплоидны (п). При половом разм­ножении женские половые клетки остаются на водо­росли, а мужские клетки пассивно переносятся к ним с током воды. Жгутиковые стадии в цикле развития от­сутствуют. После оплодотворения из зиготы развивает­ся новая особь.

Представители: порфира, кораллина, филлофора.

Значение водорослей очень велико. Они вместе с ко­ралловыми полипами участвуют в формировании оке­анических островов, обогащают воду кислородом, обра­зуют на дне морей обширные заросли, служащие прибе­жищем для морских обитателей. В промышленности из водорослей получают соли калия, иод, альгиновую кис­лоту. Из бурых водорослей извлекают агар-агар, кото­рый используют для приготовления желе и мармелада. Многие водоросли используются в медицине.




Дата добавления: 2014-12-19; просмотров: 140 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав