русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Триггер на вставку нового студента


Дата добавления: 2015-07-09; просмотров: 725; Нарушение авторских прав


При вставке новой строки в таблицу триггеры часто используются для задания таких значений по умолчанию, которые нельзя определить при создании таблицы с помощью фразы DEFAULT. В Oracle триггер на вставку чаще всего используется для автоматического задания значений первичного ключа. В стандарте SQL 2003 для этих целей имеется специальное ключевое слово IDENTITY, но в Oracle оно не поддерживается.

Вместо этого имеется специальный объект SEQUENCE, который предназначен для формирования последовательных целых чисел (этот объект зафиксировн в стандарте SQL 2003). Для обращения к значениям последовательности в выражении SQL используются псевдостолбцы currval и nextval. Currval возвращает текущее значение. NextVal инкрементирует текущее значение и возвращает результат, при этом он становится текущим значением. Триггер на вставку берет из последовательности очередное значение и помещает его в новую строку, используя предопределенную переменную :new.

Например, создадим последовательность для формирования кодов студентов:

CREATE SEQUENCE stud_seq

Теперь создадим триггер на вставку новой строки в таблицу students:

create trigger st_keys

before insert on students

for each row

begin

select stud_seq.nextval into :new.cod_st from dual;

end;

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



<== предыдущая лекция | следующая лекция ==>
Команды SQL для работы с триггерами | Триггер на изменение оценки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.553 сек.