powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Database Comparer: триггер с ; в конце
6 сообщений из 6, страница 1 из 1
Database Comparer: триггер с ; в конце
    #39698703
vitkud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть старые БД где есть триггеры заканчивающиеся на точку с запятой. Если её сравнить с БД где есть такой-же триггер без точки с запятой, то регистрируется различие и генерируется такой скрипт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SET TERM ^ ;

ALTER TRIGGER "TRIGGER"
as
begin
end;
^


SET TERM ; ^



но в результате работы этого скрипта ничего не меняется - во второй БД триггер остаётся без ; в конце, а повторный запуск Database Comparer вновь регистрирует различия.
Хорошо бы было либо не регистрировать такие различия, либо генерировать "правильный" скрипт :)
...
Рейтинг: 0 / 0
Database Comparer: триггер с ; в конце
    #39698752
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkud,

странно, мне всегда казалось что точка запятой в данном случае не сохранится или как минимум будет выдана ошибка.
...
Рейтинг: 0 / 0
Database Comparer: триггер с ; в конце
    #39698912
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так убери в образцовых базах эти точки с запятой.
...
Рейтинг: 0 / 0
Database Comparer: триггер с ; в конце
    #39699215
vitkud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

В образцовых убрано, но присылают старые, а там не убрано...
...
Рейтинг: 0 / 0
Database Comparer: триггер с ; в конце
    #39699653
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки не понял... Если в образцовых базах точек с запятой нет, то и в скрипте компарера их быть не должно. Откуда они там появляются-то?
...
Рейтинг: 0 / 0
Database Comparer: триггер с ; в конце
    #39699789
vitkud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я при сравнении менял БД местами чтобы узнать реальные различия, и вероятно не ту базу пытался исправить.. Но мне показалось странным что предлагается скрипт, который ничего не меняет..

Я тут поэкспериментировал и обнаружил что чуть более сложный триггер по разному сохраняется IBExper'ом и isql'ем.
вот такой скрипт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SET TERM ^;
CREATE OR ALTER TRIGGER "TRIGGER" FOR "TABLE" ACTIVE BEFORE DELETE
AS
begin
    if (updating) then exit;
end;
^
SET TERM ;^


в isql создаёт триггер с ; в конце, а в Script Executive - без.
Правда если выполнить его без первой и последних двух строчек в SQL Editor'е - то ";" останется..
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Database Comparer: триггер с ; в конце
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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