powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MS SQL Express vs PostgreSQL/SQLite/FireBird
25 сообщений из 282, страница 11 из 12
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36359993
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
lockyАга. "псевдо юзер"......
Стрелять за такое.

Не нравится юзер: есть ещё роли и контекстные переменные.

Контекстные переменные - это уже куда лучше. Значительнее.
А юзера - нафиг-нафиг.
Поведение триггера должно зависить от того что хотят сделать, а не от того, кто это делает.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360038
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Если в Language Reference Вы нащли только ALTER TRIGGER INACTIVE, а до
CURRENT_USER, который обычно и используют для обхода триггерной логики
не докопались, то тут уже поможет только хирургия.

Может, я и идиот, но моя цель звучит не как "использовать триггеры", а
делать качественные системы, но поскольку ваш подход единственно верный,
то пойду и убьюсь апстену.
С уважением.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360072
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН1)Отключение триггеров в транзакции блокирует таблицу целиком.
Если вместо есть транзакция, в которой вместо триггера должен выполнятся другой код,
то головная боль обеспечена.
А вот интересно, отключить индекс, pk или fk в postgre тоже вызывает такие проблемы? Если да, то они как минимум зло на две трети, согласно этому высказыванию.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360081
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН
Может, я и идиот, но моя цель звучит не как "использовать триггеры",
С уважением.
Пардон, были озвучены три причины неиспользования триггеров. 1-ю и 3-ю проблему решили. Значит причин неиспользовать триггеры нет, фактически.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360083
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyFreemanZAV
А причина страха очевидна. До этого они столкнулись с реализацией оных в MSSQL
забавно.
я "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
Забавно, что речь о курсорах не шла.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360084
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyкурсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
поддерживаю. в отличие от "триггеры - зло".

pkarklinПоляковой Ларисе Николаевне самой бы курсы послушать...
могобыть. я полез туда за просмотром синтаксиса. синтаксис поначалу опасений не вызывает. Сильно смутили inserted/deleted, о которых я и раньше знал. в FB, например, любые триггеры только FOR EACH ROW, если использовать терминологию Оракла. И before/after без проблем. И в FB триггеры используются не только для обработки, но и как "замена" сложных check constraint, причем использование их как before не требует никаких "откатов транзакций" и т.п. Я ж говорю, что архитектуры разные.
Зачем, опираясь на архитектуру триггеров и транзакций в MS SQL, проводить параллели "зла" на все остальные СУБД?

потом, я нашел например
http://www.sql.ru/articles/mssql/02021201AuditingThroughTriggers.shtml
автор - Сатана?

В ФБ например есть Execute Statement, т.е. выполнение SQL из переменных в коде процедур и триггеров. Да, можно сказать что это зло, потому что новички, и особенно приходящие с других серверов, начинают использовать эту фичу напропалую, вместо продумывания кода и написания нормальных процедур и запросов.
Так что, в MS SQL одно зло, а в других СУБД - другое зло. Опять же, в MS SQL нет триггеров на view. Это "добро"? А в FB они есть. :-)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360092
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvОпять же, в MS SQL нет триггеров на view.

Вообще-то - есть.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360103
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVlockyFreemanZAV
А причина страха очевидна. До этого они столкнулись с реализацией оных в MSSQL
забавно.
я "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.
Забавно, что речь о курсорах не шла.
Забавно, что вы не в курсе о проблемах в применении курсоров
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360105
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЫВообще-то - есть.
блин. только что смотрел в
http://msdn.microsoft.com/ru-ru/library/ms189799.aspx
была такая фраза. теперь смотрю - не вижу.

а. есть ограничения. FOR | AFTER
"Триггеры AFTER не могут быть определены на представлениях." с другой стороны, тут же взаимоисключающая фраза:
"Если единственным заданным ключевым словом является FOR, аргумент AFTER используется по умолчанию."
И правда зло...
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360109
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvбыла такая фраза. теперь смотрю - не вижу.

Плюнь, дока у МС тоже не блистает. Смотри в синтаксическую диаграмму:
Код: plaintext
1.
CREATE TRIGGER trigger_name
ON { table | view }

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360110
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
Забавно, что вы не в курсе о проблемах в применении курсоров
Почему это. Как раз я теперь знаю, что проблем с примененим курсоров в оракле нет, ибо
lockyони там неплохо реализованы
Теперь остаётся узнать, какая связь между триггерами и курсорами
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360114
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVlocky
Забавно, что вы не в курсе о проблемах в применении курсоров
Почему это. Как раз я теперь знаю, что проблем с примененим курсоров в оракле нет, ибо
lockyони там неплохо реализованы
Теперь остаётся узнать, какая связь между триггерами и курсорами
Вот ведь прости господи
Да, проблем с реализацией курсоров в оракле нет.
Есть проблема с применением.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360116
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
Да, проблем с реализацией курсоров в оракле нет.
Есть проблема с применением.
Не знал, что в оракле проблематично применить курсоры, несмотря на их хорошую реализацию.

Ну так а триггеры здесь при чём?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360126
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVlocky
Да, проблем с реализацией курсоров в оракле нет.
Есть проблема с применением.
Не знал, что в оракле проблематично применить курсоры, несмотря на их хорошую реализацию.

стейтмент drop там тоже хорошо реализован, но это совершенно не значит что его нужно постоянно применять.

FreemanZAV
Ну так а триггеры здесь при чём?
см. выше. Применимость фичи обосновывается не качеством её реализации.
Ты будешь применять плохо реализованную фичу, если таки она тебе реально нужна.
И аналогично - не следует применять ненужную (в данном случае) фичу только потому что она "хорошо реализована".
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360130
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyПрименимость фичи обосновывается не качеством её реализации.
Ты будешь применять плохо реализованную фичу, если таки она тебе реально нужна.
И аналогично - не следует применять ненужную (в данном случае) фичу только потому что она "хорошо реализована".+1.
очевиднейшая, вроде, вещь сказана, но, почему-то она непонятой оппонентами остаётся.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360139
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyстейтмент drop там тоже хорошо реализован, но это совершенно не значит что его нужно постоянно применять.
Но и "злом" его не назовёшь

lockyИ аналогично - не следует применять ненужную (в данном случае) фичу только потому что она "хорошо реализована".
А , не понял глубину мысли Я знаю аналогичный случай. В Туле, я слышал, хорошие самовары, но их тоже не стоит постоянно применять, например в качестве пряника.
Ну и уж конечно, вообще, совать что-либо куда не попадя - есть зло.

Если с этих позиций рассуждать, то да, триггера - зло, впрочем, как и самовары.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360270
Энди Таккер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychочевиднейшая, вроде, вещь сказана, но, почему-то она непонятой оппонентами остаётся.
Очевиднейшая вещь звучала так:
lockyтриггера - зло. Иногда - необходимое, но зло - однозначно.
и
lockyя "сталкиваюсь" с реализацией курсоров в оракле (а они там неплохо реализованы).
Но по прежнему считаю что чем совать курсоры куда ни попадя (зачастую от ненадлежащего знания матчасти) - есть зло.

Между фразами "зло - однозначно" и "совать куда ни попадя - есть зло" просматривается "очевиднейшая" разница. Вот оппоненты и хотят разрешить данную логическую нестыковку.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360381
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энди Таккер
Между фразами "зло - однозначно" и "совать куда ни попадя - есть зло" просматривается "очевиднейшая" разница. Вот оппоненты и хотят разрешить данную логическую нестыковку.
Оппонентам просто хочется пофлудить и несколько оправдать себя
Всегда нелегко, когда кто-то приходит и говорит что твой стиль работы - полная фигня. Это очень обидно. Ведь мы так ловко выпутываемся из ситуаций, в которые же сами и попали!
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360445
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360585
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН Если вместо есть транзакция, в которой вместо триггера должен выполнятся другой код, то головная боль обеспечена.

Это следствие неправильно спроектированной структуры. С какой стати в какой-то там транзакции что-то должно выполняться вместо триггера? Зачем вам в данном случае триггер?
В триггере надо выполнять те действия, которые ВСЕГДА выполняются при изменении данных. Имхо...
За редким исключением, на этот случай есть отключение триггера, но на то это и редкое исключение, что возникает не так часто, чтобы быть проблемой.
---
Проходя мимо разложенных граблей, ты теряешь драгоценный опыт. (с)
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360595
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVНикак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?

Нет.

In the scope of a CATCH block, the following system functions can be used to obtain information about the error that caused the CATCH block to be executed:

ERROR_NUMBER() returns the number of the error.

ERROR_SEVERITY() returns the severity.

ERROR_STATE() returns the error state number.

ERROR_PROCEDURE() returns the name of the stored procedure or trigger where the error occurred.

ERROR_LINE() returns the line number inside the routine that caused the error.

ERROR_MESSAGE() returns the complete text of the error message. The text includes the values supplied for any substitutable parameters, such as lengths, object names, or times.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360637
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А стек-то где?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360652
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV,

pkarklinНет.

Вы это пропустили?
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360678
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinFreemanZAV,

pkarklinНет.

Вы это пропустили?
Пардон, пропустил.
...
Рейтинг: 0 / 0
MS SQL Express vs PostgreSQL/SQLite/FireBird
    #36360693
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreemanZAVНикак не могу получить ответ на один вопрос. В MSSQL можно при ошибке в процедуре посмотреть стек?
Стек вызовов процедур можно увидеть, используя SQL Profiler + отлов SP:StmtStarting и SP:StmtCompleted.
...
Рейтинг: 0 / 0
25 сообщений из 282, страница 11 из 12
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MS SQL Express vs PostgreSQL/SQLite/FireBird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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