powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / триггер один на всех
25 сообщений из 30, страница 1 из 2
триггер один на всех
    #32054768
Aculina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините за глупый вопрос, но я могу написать один триггер сразу для всех существующих таблиц. И как это описать. Спасибо
...
Рейтинг: 0 / 0
триггер один на всех
    #32054770
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не можете.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054772
Aculina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Этого я и боялась.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054778
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этого я и боялась.

А вот бояться ничего не надо, если триггера для всех таблиц однотипные, то используете любое CASE средство (например ERwin или Power Desighner) готовите для всех таблиц шаблон триггера и на выходе генерите скрипт по созданию таблиц с их триггерами и живете счастливо и без проблем.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054784
Фотография Nickolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Aculina: я в этом случае пишу sp которая и вызывется из всех триггеров, а CASE-ы не использую, потому как не видел еще такого, за которые хотелось бы заплатить столько, сколько за них просят :) QA от SQL2000 + Visual Studio - вот мои CASE-средства...

2Genady: а если вдруг в этих триггерах поменять что надо на уже работающей базе, как тогда со счастливой жизнью ?? :)
...
Рейтинг: 0 / 0
триггер один на всех
    #32054796
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если в этих триггерах поменять что надо на уже работающей базе, то меняете в шаблонах и генерите заново.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054799
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2alexeyvg:

IMHO, единственно верный путь - это скрипт, обновляющий триггера (равно как и любые прочие объекты БД), хорошо комментированный и сохраненный в системе контроля версий. И вот почему: если не делать так, то придется переназначать permissions (если "сгенерированные" из CASE-ов объекты идут как CREATE, конечно) и что еще хуже, не понятно, кто, когда и по какой причине изменил код для данного конкретного объекта.

Удачи
...
Рейтинг: 0 / 0
триггер один на всех
    #32054809
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если "сгенерированные" из CASE-ов объекты идут как CREATE, конечно)
Незнание CASE-ов не освобождает от их изучения!
...
Рейтинг: 0 / 0
триггер один на всех
    #32054811
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да пробовал я ErWin 4, PowerDesigner 8. Давно это было...
Ничего против не имею и дискуссию распалять не хочу. Просто мне не нравиться и все тут. По-старинке оно лучше, понятнее и как-то душевней.

Удачи
...
Рейтинг: 0 / 0
триггер один на всех
    #32054818
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2jimmers
Я, собственно, тоже использую скрипты и систему контроля версий.
Но в паре проектов пользовался генерацией триггеров из ERWin-а - для триггер-ориентированной модели это нормально. Другое дело, что сам такой подход (триггер-ориентированную модель) считаю неправильным.
Конечно, приходится менять темплэйты триггеров в ERWin-е, т.к. он может только создавать триггеры, но не умеет менять их или удалять перед созданием.

А по поводу переназначения permissions на триггеры Вы погорячились :-)
...
Рейтинг: 0 / 0
триггер один на всех
    #32054819
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PowerDesigner 8. Давно это было...
Давно было? С восьмеркой то? Да этот релиз вышел менее года назад! 8-)
Скажите просто, что изучать лениво, это по крайней мере понятно будет :-)
...
Рейтинг: 0 / 0
триггер один на всех
    #32054821
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Garya Привилегированный пользователь
Участник
Ребята, не кипятитесь. Сначала нужно задаться вопросом "зачем", а уже потом "как". Я сильно подозреваю, что в этом "триггере на все таблицы" захотят воспользоваться таблицами deleted и inserted, которые имеют разную структуру полей для разных таблиц. А если структура полей одинаковая, то зачем же заводить отдельную таблицу под отдельную запись?

И еще. Можно обойтись безо всяких ErWin-ов, если самому налабать небольшой скрипт на создание (или модификацию) триггера, использующий ForEachTable.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054822
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но в паре проектов пользовался генерацией триггеров из ERWin-а - для триггер-ориентированной модели это нормально.

ВАХ! Что за звер такой? Мне бы поподробнее пжлста.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054825
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Garya
И еще. Можно обойтись безо всяких ErWin-ов, если самому налабать небольшой скрипт на создание (или модификацию) триггера, использующий ForEachTable.

Обойтись то можно, можно и код на ассемблере писать, вопрос только в том - а нафига?
...
Рейтинг: 0 / 0
триггер один на всех
    #32054830
Фотография Dmitri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автоматизировать массовое создание триггеров легко через SQL DMO, я так делал для настройки аудита
...
Рейтинг: 0 / 0
триггер один на всех
    #32054841
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, собственно, на Assembly пишу. Более того, уверен, что на нем не каждый может писать (да и понять-то, что написано другими). А это позорно - не знать основ, и еще позорнее от них отрекаться, маскируясь новыми технологиями.

Думаю тему пора закрывать.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054843
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это позорно - не знать основ, и еще позорнее от них отрекаться, маскируясь новыми технологиями.


Хм... Позорно? Вы уверены? Кстати, основ чего, простите?
...
Рейтинг: 0 / 0
триггер один на всех
    #32054844
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Genady
Рекламных агентов просьба не беспокоиться!
...
Рейтинг: 0 / 0
триггер один на всех
    #32054845
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекламных агентов просьба не беспокоиться!
Переведите, плиз.
...
Рейтинг: 0 / 0
триггер один на всех
    #32054847
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Основ работы ЭВМ в случае Assembly language.
Основ работы и тонкостей конкретной СУБД в случае использования CASE средств (это зависит, безусловно, от степени разумности применения оных).

Теряется контроль, так сказать, над кодом...

Поймите, я не призываю запинать пользователей CASE-ов. Просто мне они не нравятся.

Удачи
...
Рейтинг: 0 / 0
триггер один на всех
    #32054850
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поймите, я не призываю запинать пользователей CASE-ов. Просто мне они не нравятся.

О как! Вы меня совсем не знаете, но я Вам уже не нравлюсь. :)
Спасибо, что хоть не призываете меня запинать. :)
...
Рейтинг: 0 / 0
триггер один на всех
    #32054854
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 jimmers
Ну и так в догонку, мы здесь флейм разводим или есть конкретные аргументы на утверждение номер раз:
Основ работы и тонкостей конкретной СУБД в случае использования CASE средств (это зависит, безусловно, от степени разумности применения оных).

и утверждение номер двас:
Теряется контроль, так сказать, над кодом...
...
Рейтинг: 0 / 0
триггер один на всех
    #32054859
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут уже был огромный топик на эту тему - к чему еще раз перебирать одно и то же? Давайте закругляться, ок?
...
Рейтинг: 0 / 0
триггер один на всех
    #32054862
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну давайте закругляться, как бы не я первый начал. :)
Только не в том топике ни в этом, противники CASE средств никаких аргументов против не высказали, и это понятно. Те кто все же попробовал поработать с ними, а не просто взглянуть, поняли их полезность, остальным же просто лень, поэтому и аргументы соответствующие, самый мощный из которых это не нравится.

2 Aculina
Если хотите автоматизировать процесс проектирования, то советую разобраться с каким нибудь CASE средством, они для этого и предназначены. С каким именно говорить не буду, а то меня тут уже в рекламные агенты записали. Мне правда и самому интересно что же я рекламировал? 8-)
...
Рейтинг: 0 / 0
триггер один на всех
    #32054869
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Genady
Перевожу.
Вопрос был про тригер, а не про CASE. В то, что вы умеете это делать используя ERwin, охотно верю. Но есть ещё как минимум десяток разных способов и они возможно не хуже. Все ваши выступления на форуме сводятся к тому, что - единственно возможный путь - ERwin. Вот отсюда и родилось подозрение, что вы являетесь рекламным агентом компании продвигающей CASE в массы.
А может быть вы просто рекламируете себя :)

Поэтому оставим за Aculin-ой право выбора.

2 Aculina
Если бы вы привели шаблон тригера, я бы мог сделать для вас нехитрую процедуру, которая сгенерит его для всех таблиц.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / триггер один на всех
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]