|
Компарер, изменение триггера
|
|||
---|---|---|---|
#18+
День добрый. Обнаружил ошибку при изменении триггера. Если в триггере меняется позиция и/или тип (insert, update, delete), на примере моего случая ACTIVE BEFORE INSERT POSITION 0 меняется на ACTIVE BEFORE UPDATE POSITION 91, тело неизменно, то в результирующем скрипте получается следующее: очищается тело триггера (видимо в моей базе есть зависимости), а вот при восстановлении триггера всегда выполняется только одно действие - либо изменение позиции, либо изменение типа, либо восстановление тела триггера. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 12:42 |
|
Компарер, изменение триггера
|
|||
---|---|---|---|
#18+
В дополнение хочу немножко поправиться, не совсем точно описал: В результирующем скрипте при восстановлении триггера выполняется одно из двух - либо изменение позиции и/или изменение типа, либо восстановление тела триггера. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 12:56 |
|
Компарер, изменение триггера
|
|||
---|---|---|---|
#18+
У меня не воспроизводится. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 08:24 |
|
Компарер, изменение триггера
|
|||
---|---|---|---|
#18+
Добрый день. Я решил воссоздать проблему с нуля. Воспроизводится только в случае, если тело триггера остается неизменным, а меняется только тип и/или позиция. Если же вместе с изменением типа и/или позиции меняется и тело триггера, то все в порядке. Ниже эталоны баз на которых я воспроизвел проблему. Различия: 1. тип поля TEST.DATA. 2. тип и позиция триггера TEST_BU0. Эталон метаданных мастера: SET SQL DIALECT 3; CREATE TABLE TEST ( ID INTEGER NOT NULL, DATA INTEGER ); ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (ID); SET TERM ^ ; CREATE TRIGGER TEST_BU0 FOR TEST ACTIVE BEFORE UPDATE POSITION 50 AS begin new.DATA = 1; end ^ SET TERM ; ^ Эталон метаданных таргета: SET SQL DIALECT 3; CREATE TABLE TEST ( ID INTEGER NOT NULL, DATA SMALLINT ); ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (ID); SET TERM ^ ; CREATE TRIGGER TEST_BU0 FOR TEST ACTIVE BEFORE INSERT POSITION 0 AS begin new.DATA = 1; end ^ SET TERM ; ^ ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 14:10 |
|
Компарер, изменение триггера
|
|||
---|---|---|---|
#18+
Исправил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 06:32 |
|
|
start [/forum/topic.php?fid=42&msg=39178702&tid=1599331]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
3ms |
others: | 12ms |
total: | 258ms |
0 / 0 |