Выполните процедуру в триггере

Я не точно 'естественный' ученый (я изучаю транспортировку), но академик, который пишет много моего собственного программного обеспечения для анализа данных. Я пытаюсь записать так, как я могу в Python, но иногда я вынужден использовать другие языки, когда я работаю над расширением или настройкой существующего программного инструмента. В моем поле существует очень мало обучения программированию. Большинство людей или выучилось самостоятельно, или освоило свои навыки программирования от уроков, посещаемых ранее или вне дисциплины.

я - большой поклонник управления версиями. Я использовал Хранилище, работающее на моем домашнем сервере для всего кода для моей диссертации. Прямо сейчас я пытаюсь заставить отдел настраивать сервер Подрывной деятельности, но мое предположение, я буду единственным, кто использует его, по крайней мере, сначала. Я играл вокруг немного с FogBugs, но в отличие от управления версиями, я не думаю, что это почти как полезное для индивидуальной команды.

Что касается ободрительных других для использования управления версиями и т.п. это - действительно проблема, с которой я сталкиваюсь теперь. Я - планирование того, чтобы вынуждать моих студентов градиента использовать его на научно-исследовательских работах, которые они делают для меня и поощряют их использовать его для своего собственного исследования. Если я буду преподавать программирование вовлечения класса, то я, вероятно, буду вынуждать студентов использовать управление версиями там также (градуирующий их на том, что находится в репозитории). Насколько мои коллеги и их студенты градиента идут, все, что я могу действительно сделать, делают сервер доступным и полагаются на мягкое убеждение и подающий хороший пример. Откровенно говоря, в этой точке я думаю, что более важно получить их делающий регулярные резервные копии, чем получают их на управлении исходным кодом (некоторые люди несут вокруг единственной копии их данных исследований по картам флэш-памяти с интерфейсом USB).

6
задан marc_s 10 November 2009 в 17:12
поделиться

3 ответа

Да, вот так:

create or replace trigger trg
after insert on emp
for each row
begin
   myproc(:new.empno, :new.ename);
end;
11
ответ дан 8 December 2019 в 16:04
поделиться

Да, можно. Просто имейте в виду, что триггер может срабатывать для каждой строки, на которую влияет триггер DML. Таким образом, ваша хранимая процедура должна быть оптимизирована, иначе вы можете столкнуться с проблемами производительности. Триггеры - это хорошо, но вы просто должны помнить о проблемах с производительностью, которые могут возникнуть при их использовании.

1
ответ дан 8 December 2019 в 16:04
поделиться

В SQL Server это так. Какую СУБД вы используете?

ETA: Oracle, а? У меня нет личного опыта с этим, но это , кажется, указывает на то, что вы можете. Я нашел его в Google "хранимая процедура триггера оракула".

1
ответ дан 8 December 2019 в 16:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: