|
Триггер на update
|
|||
---|---|---|---|
#18+
Здравствуйте. Как оказалось, я абсолютный чайник в триггерах :-( Подскажите, кто знает, как мне решить задачу. Итак, есть некая таблица: Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2008, 12:46 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
execute function функция() into new.dt функция должна вернуть значение current ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2008, 13:16 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
Так? Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2008, 14:06 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
надо добавить create .... referensing NEW as n .... into n.dt ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2008, 15:07 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
Лучше Код: plaintext 1. 2. 3.
Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2008, 15:08 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
2 Ikir: Вы бы сначала сами попробовали, прежде чем... То же самое - -731. 2 victor16: Такое мне тоже в голову пришло. Но меня испугал план: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Неужели он действительно собирается всю таблицу последовательно читать? А если она многомиллионная? Или как это понимать? Комментарии ожидаются... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2008, 11:47 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
Leonid VorontsovНеужели он действительно собирается всю таблицу последовательно читать? А если она многомиллионная? Или как это понимать? Комментарии ожидаются... А сколько у вас СЕЙЧАС строк в таблице? А делали ли UPDATE STAT FOR TABLE tab? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2008, 12:29 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
2 АнатоЛой: Не вижу ничего смешного - это ведь только пример. А строк в настоящей таблице - 5 миллионов. Да и статистика - тоже как учили: medium - на таблицу, high - на первые колонки индексов, low - на составные индексы... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2008, 17:27 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
Leonid Vorontsov2 АнатоЛой: Не вижу ничего смешного - это ведь только пример. А строк в настоящей таблице - 5 миллионов. Да и статистика - тоже как учили: medium - на таблицу, high - на первые колонки индексов, low - на составные индексы... Может и я чего-то не понимаю... В Вашем пример со статистикой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
сколько записей в таблице tab ? Если чуть-чуть - Informix спокойно может выбрать SEQ SCAN.... Если всё же сомневаетесь - ну запустите на тестовой таблице/сервере - но уже с большим количеством строк - и точно сами всё увидете... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2008, 18:00 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
Загрузил в таблицу 2134446 строк. План не изменился: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 12:48 |
|
Триггер на update
|
|||
---|---|---|---|
#18+
Leonid VorontsovТак? Код: plaintext 1. 2. 3. 4. 5. 6.
Извините, протупил. Давно не писал такого... Нужно так: execute function get_current( ) into tab.dt то есть указать не correlation name, а имя самой таблицы... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 09:43 |
|
|
start [/forum/topic.php?fid=44&msg=35536657&tid=1608010]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 496ms |
0 / 0 |