Когда был вызван триггер и где он располагается в логической схеме?27.02.2015, 23:03. Показов 1845. Ответов 20
Метки нет (Все метки)
Всем доброго времени суток.
В течение полугода задавался вопросом что такое "триггер", но все никак руки не доходили поискать/погуглить. Все, что я понял из литературы в интернете, что триггер - хранимая процедура, своего рода подпрограмма на PL/SQL, которая вызывается при изменении таблицы базы данных. Дальше мое понимание о триггерах оставляет желать лучшего. Приведу пример, --у меня открыта какая-нибудь таблица в БД, конкретно рассматривается Access. --И хочу ввести некоторые коррективы в какой-нибудь из кортежей. --Что делаю я - я просто стираю backspace'ом не нужные слова и печатаю другое, --затем добавляю новый кортеж. -- И после жму Сохранить. А теперь вопрос - --когда был вызван триггер и где он вообще располагается в логической схеме? (есть мнение что он где-то в концептуальном уровне).
0
|
|
| 27.02.2015, 23:03 | |
|
Ответы с готовыми решениями:
20
Триггер, вызывающий процедуру, в которой выполняется select к этой таблице (откуда был вызван триггер)
|
|
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
|
||
| 28.02.2015, 03:31 | ||
|
Примерно да. Например, они запоминают все сделанные к(в) базе запросы: запросы на изменение (Update, Insert...). В Аксессе (без SQL-сервера) их нет. Но умельцы делают: Злоумышленник. - Триггер Бенедикта. :-)
Добавлено через 9 минут
1
|
||
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|||
| 28.02.2015, 11:58 | |||
|
0
|
|||
|
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
|
||
| 28.02.2015, 12:08 | ||
|
Работать нужно только с формами, а не с таблицами. Зачем маленьких Плохому учите? По себе знаю. потом очень долго перестраиваться придется. Ле-Ле-Ле
0
|
||
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
| 28.02.2015, 12:10 | |
|
kmv-puh, так работая с формами в итоге работаешь с таблицами же ) Я не о том, что напрямую вводить данные в таблицу, а в целом что тригер работает именно с таблицами
0
|
|
|
9131 / 6143 / 593
Регистрация: 27.03.2013
Сообщений: 20,011
|
|
| 28.02.2015, 12:23 | |
|
Ну извиняюсь, видимо не на столько глубоко просекаю ситуацию.
Кликните здесь для просмотра всего текста
Обычно приучен к конкретным терминам, а не полувиртуальным, я обычно в подсознательные астралы и менталы ленюсь лезть, типа по жизни немного лентяй.
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 28.02.2015, 12:25 | |
|
Вообще то некий аналог триггеров уже в 2010 есть - это макросы данных. Наиболее полное описание, которое мне попадалось, в "Access 2010 Programmer's Reference", глава 4.
1
|
|
| 28.02.2015, 13:11 [ТС] | |
|
то есть триггер сам по себе срабатывает при работе с таблицами и формами, а как случай с запросами?
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 28.02.2015, 13:19 | |
|
Триггер срабатывает при удалении, добавлении, изменении записи в таблице. А вот как она удаляется, добавляется, изменяется: в таблице, в форме, в запросе или запросом, в наборе данных, ... - ему все равно.
1
|
|
| 28.02.2015, 14:35 [ТС] | |
|
ага значит, триггер срабатывает при непосредственной работе с самой таблицей, в случае с запросом он ничего не делает. Хорошо, а в аксесе есть сервис на написанию своего триггера? И как он хранится? В списке с запросами, таблицами, отчетами и формами?
0
|
|
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|||
| 28.02.2015, 14:40 | |||
|
Добавлено через 1 минуту
0
|
|||
| 28.02.2015, 14:53 [ТС] | |
|
Серж_87, значит не важно как изменяется таблица/форма, он все равно сработает. А вообще триггер является промежуточным уровнем между пользователем и таблицей БД? Как бы пользователь неявно изменяет кортежи в БД, за него на внутреннем уровне это делает триггер, верно? Что вообще в таком случае триггер обеспечивает? И можно ли без него работать в других СУБД?
0
|
|
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
||
| 28.02.2015, 15:27 | ||
|
0
|
||
|
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||
| 28.02.2015, 15:36 | ||
|
Впрочем, есть одна ситуация когда триггера ничему не противоречат. Это логирование ввода и ошибок. Тут их применение безусловно полезно.
1
|
||
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
| 28.02.2015, 15:40 | |
|
mobile, в целом вы правы. Я сейчас имею ввиду не базу аксес где 10-20 табличек, а базу крупной компании, которую разрабатывают и дорабатывают годами. Невозможно при создании БД учесть все мелочи, и выявленных касяки лечатся тригерами, это вполне нормально
0
|
|
|
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||
| 28.02.2015, 16:07 | ||
|
0
|
||
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
| 28.02.2015, 16:14 | |
|
mobile, при всем моем уважении к аксес, это больше инструмент для обработки данных, но не СУБД. Какой смысл компании иметь базу на аксесе с ограниченными возможностями (как размер так и функционал), если существуют полноценные бесплатные базы - MySQL, Firebird и т.д.
Да, он прост, можно с коленки набросать за 15 мин нужный инструмент или БД, но минусов у него куча
0
|
|
| 28.02.2015, 16:20 [ТС] | |
|
Хочу расставить точки. Если я работаю в аксесе с таблицей/формой БД, то я явно работаю с данными таблицы, напрямую. Но если я зайду в другую СУБД, то там явно не поработаю с данными таблиц БД, после моих изменений (UPDATE, INSERT, DELETE) вызывается триггер и выполняет уже изменения на внутреннем уровне. Все верно?
0
|
|
|
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||
| 28.02.2015, 16:21 | ||
|
Я создаю в аксе нужные людям программы, которые работают годами и даже десятками лет. Этого мне достаточно, чтобы считать MS Access полноценным инструментом.
3
|
||
|
1303 / 509 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
| 28.02.2015, 16:24 | |
|
1
|
|
| 28.02.2015, 16:24 | |
|
Помогаю со студенческими работами здесь
20
Как в отладке выяснить, откуда был вызван метод Когда будет вызван Dispose
Какова вероятность того, что отвечать был вызван мальчик? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|