Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
Мне надо бы в UPDATE подставить TG_RELNAME , но что-то не получается. Ругается, в запросе вместо имени таблицы $1. Если выполнять EXECUTE , то всё хорошо, только специальная переменная FOUND не меняет своего значения. Что делать? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 09:39 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
glebofff Что делать? :-) застрелицца из духового ружжа. ЗЗЫ . попробуйте привести сами тексты. Авось будут более внятны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 11:54 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
вместо имени таблицы $1 вместо имени таблицы нельзя вставлять переменную если вы делаете запрос не через EXECUTE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 12:58 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
vfabr вместо имени таблицы $1 вместо имени таблицы нельзя вставлять переменную если вы делаете запрос не через EXECUTE Да это и в мануале написано. Я, наверное, вопросы не умею задавать. В общем, мне бы хотелось узнать, была ли хоть одна строка модифицирована апдейтом, вызванным через EXECUTE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 13:13 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
ппоищи по словам GET DIAGNOSTICS на форуме или в доке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 13:30 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
vfabrппоищи по словам GET DIAGNOSTICS на форуме или в доке В общем, работает. Теперь мне вот что интересно... В мануале пишут: ... Because PL/pgSQL saves execution plans in this way, SQL commands that appear directly in a PL/pgSQL function must refer to the same tables and columns on every execution; that is, you cannot use a parameter as the name of a table or column in an SQL command. To get around this restriction, you can construct dynamic commands using the PL/pgSQL EXECUTE statement — at the price of constructing a new execution plan on every execution. Т.е. вся потеря времени при динамических запросах - это выяснить OID таблицы/и т.д.? Вообще, особой разницы по времени не обнаружил (а вставка в таблицу от 10 до 50 тысяч строчек за раз), что простой update, что через execute - работают одинаково быстро. Короче, есть ли смысл создавать для однотипных табличек свою функцию-триггер, когда можно использовать одну - на всех? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 10:06 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
вы заметите разницу на select вы в триггере хотите апдейтить другую таблицу? если так то это может потом вылезти боком ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 12:16 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
vfabrвы заметите разницу на select Т.е.? vfabr вы в триггере хотите апдейтить другую таблицу? если так то это может потом вылезти боком Каким боком? Не говорите загадками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 18:04 |
|
||
|
Триггер, pl/pgsql.
|
|||
|---|---|---|---|
|
#18+
запросы кэшируются в базе и в следующий раз когда вы посылаете анналогичный запрос но с другими параметрами база не строит план выполнения заново а использует готовый. если интересно ищите в дркументации про PREPARE STATEMENT или как то так (подготовленные запросы) соответственно на инсертах это не так критично как на селектах если вы делаете EXECUTE то для каждого запроса план строится по новой если даже это один и тот же запрос про триггер например вы вешаете триггер на инсерт изменить запись в другой таблице у вас большой объем вставляемых данных может все жутко тормозить лучше сначала все вставить а потом запустить апдейт всего вставленного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 19:08 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33175665&tid=2007110]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 501ms |

| 0 / 0 |
