Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.09.2005, 16:58
|
|||
|---|---|---|---|
|
|||
Триггер before update |
|||
|
#18+
Есть две таблицы одна с актуальной информацией (т.е. действительной на данный момент времени) и другая с устаревшей. Структура таблиц одинаковая. Пишется триггер before update для таблицы с актуальной информацией, его задача перенести запись которая была до обновления в таблицу с устаревшей информацией. Причем если эта запись переносится в таблицу с устаревшей информацией первый раз за сегодня она добавляется, если второй раз, тогда обновлется уже добавленная в этот день. Подскажите пожалуйста как обновить запись в устаревшей таблице не перечисляя все поля Пробовал Update old_people from OLD where ...... Update old_people set (OLD.*) where ..... Оба варианта не работают. Перечисляю после set все поля - всё работает, условие после where во всех трех вариантах одинаковое. Для добавления пишу insert into old_people values (OLD.*) все работает. Буду благодарен за любые советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 17:05
|
|||
|---|---|---|---|
Триггер before update |
|||
|
#18+
DELETE FROM old_people WHERE pkey = OLD.pkey INSERT INTO old_people VALUES (OLD.*) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 17:15
|
|||
|---|---|---|---|
Триггер before update |
|||
|
#18+
или как вариант всегда обновляй(UPDATE) если GET DIAGNOSTIC ROW_COUNT =0 тогда вставляй... это будет быстрее delete ; insert т.к во всех случаях кроме первой вставки будет выполнятся только один запрос а не 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 17:16
|
|||
|---|---|---|---|
|
|||
Триггер before update |
|||
|
#18+
XM DELETE FROM old_people WHERE pkey = OLD.pkey INSERT INTO old_people VALUES (OLD.*) Posted via ActualForum NNTP Server 1.3 Спасибо за мысль но тогда уж DELETE FROM old_people WHERE pkey = OLD.pkey and date=current_date INSERT INTO old_people VALUES (OLD.*) Но я то думал что вопрос всего лишь в синтаксисе, что должно быть стандартное решение, а не в обход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.09.2005, 17:26
|
|||
|---|---|---|---|
Триггер before update |
|||
|
#18+
помойму в апдейте полюбому надо все поля перечислять.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2007018]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 384ms |

| 0 / 0 |
