Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Есть таблица table1(p1 int,p2 text,p3 int); и таблица table2(p1 int,p2 int,p3 text); Нужно, чтобы при выполнении UPDATE table1 SET p3=0 (или 1) WHERE p1=3; в таблицу table2 добавлялась строка p1-просто id,p2 это число, которое присвоилось полю table1.p3 (текущее после UPDATE), а в поле table2.p3 имя пользователя, который выполнил UPDATE. Как это можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2006, 08:19 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Триггером на UPDATE ===================================== Страну, в которой все ходят на бровях, на колени не поставишь... ===================================== ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2006, 23:32 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что добавлять в table2 нужно только при UPDATE поля table1.p3, при обновлении других полей INSERT делать не надо. Вот и не знаю, как это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 06:01 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
posttПроблема в том, что добавлять в table2 нужно только при UPDATE поля table1.p3, при обновлении других полей INSERT делать не надо. Вот и не знаю, как это сделать. if new.p3!=old.p3 then insert into table2... end if; ... return new; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 08:41 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Выдает ошибку при UPDATE. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 13:16 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
..... INSERT INTO table2 (p2) VALUES (new.p3); end if; RETURN NEW; end; ....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 13:28 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Как в функции для триггера использовать неизменяемые поля для проверки условий. Так не работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 14:34 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
А ты снова RETURN забыл. На сей раз вне условия new.p3!=old.p3 ===================================== Страну, в которой все ходят на бровях, на колени не поставишь... ===================================== ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 15:45 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Кувалдин РоманА ты снова RETURN забыл. На сей раз вне условия new.p3!=old.p3 кроме того, для сравнения полей (в случае их необязательности) я бы рекомендовал IS DISTINCT FROM вместо <> or != (т.е. new.p3 IS DISTINCT FROM old.p3) но, только где-то с 8-ки (в 7.4. эта байда не работает на сравнении внутренних переменных ф-й, но работате в нормальном SQL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 16:11 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
Return при редактировании не туда вставил..сорри. Но почему-то даже при правильной его вставке сравнения не работают, нужно, чтобы вставлялись в другую таблицу значения в зависимости от содержимого поля p4. PS: плохо,что нет возможности редактировать сообщения...поторопишься, а потом не исправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 16:16 |
|
||
|
Что-то типа триггера
|
|||
|---|---|---|---|
|
#18+
posttReturn при редактировании не туда вставил..сорри. Но почему-то даже при правильной его вставке сравнения не работают, нужно, чтобы вставлялись в другую таблицу значения в зависимости от содержимого поля p4. PS: плохо,что нет возможности редактировать сообщения...поторопишься, а потом не исправить. Проверь-ка, а с нерусскими значениями сравнения будут работать? Если да - то у тебя локаль в БД неправильно настроена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 16:18 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33997698&tid=2006088]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 503ms |

| 0 / 0 |
