Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
т.е. я не знаю существует ли запись, и хочу или апдейтнуть ее или если ен существует добавить. в некоторых серверах такое есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 20:30 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 00:57 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
хорошо, как вам такое решение, покритикуйте: триггер before insert: в нем удаляю запись с тем же ключом далее идет вставка в любом случае меня устроит такая последовательность. Но как удалить, т.е. delete from mytable where pkey= где взять ключ вставляемых записей? или вставляемой для триггера, который выполяется для каждой записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:07 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
как вам такой триггер для данной задачи: CREATE TRIGGER "xp_insert" BEFORE INSERT ON "public"."xp" FOR EACH ROW DELETE FROM xp WHERE xprop.id in (select id from NEW); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:26 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
Winnipuhкак вам такой триггер для данной задачи: Код: plaintext 1. 2. 3. гм. а каскадов не боитесь? (вообще говоря - расстрел на месте без суда и следствия) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:36 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
Winnipuhкак вам такой триггер для данной задачи: CREATE TRIGGER "xp_insert" BEFORE INSERT ON "public"."xp" FOR EACH ROW DELETE FROM xp WHERE xprop.id in (select id from NEW); По идее можно и просто Код: plaintext 1. 2. 3. 4. 1. Влечет за собой каскады (или рестрикты), триггера на удаления, что может быть недопустимо/долго. 2. Разрастание БД, возможно разростание индексов и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:42 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron Winnipuhкак вам такой триггер для данной задачи: CREATE TRIGGER "xp_insert" BEFORE INSERT ON "public"."xp" FOR EACH ROW DELETE FROM xp WHERE xprop.id in (select id from NEW); По идее можно и просто Код: plaintext 1. 2. 3. 4. 1. Влечет за собой каскады (или рестрикты), триггера на удаления, что может быть недопустимо/долго. 2. Разрастание БД, возможно разростание индексов и т.д. В данном случае у меня одна таблица без связей, так что с каскадом пробелм нет. Правда такой триггер не создается, пишет ошибку, ему нужен execute только? по пункту 2: почему же разрастание? я удаляю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 11:49 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
Winnipuh Andrey Daeron Главный недостаток - это удаление, которое: 1. Влечет за собой каскады (или рестрикты), триггера на удаления, что может быть недопустимо/долго. 2. Разрастание БД, возможно разростание индексов и т.д. В данном случае у меня одна таблица без связей, так что с каскадом пробелм нет. Правда такой триггер не создается, пишет ошибку, ему нужен execute только? по пункту 2: почему же разрастание? я удаляю 1. Ну да , а сама функция может быть написана на SQL. 2. PG версионник, соответсвенно себя и ведет. Т.е. записи только помечаются как удаленные. При обновлении - в принципе тоже порождается новая версия как и при вставке, но по идее не всегда, или может быть на той же странице. Новые записи - всегда (или до вакуума?) идут в конец файла. Т.е. до VACUUM FULL/VACUUM таблицы будут разрастаться, и как следствие - будут расти индексы. Если таблицы небольшие - то по большому счету пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 12:56 |
|
||
|
можно ли одной командой сделать insert/update
|
|||
|---|---|---|---|
|
#18+
Триггерами пожалуйста. в 7.4.x делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. З.Ы. Говоря нет, я имел ввиду нельзя, используя только sql, одним запросом. Прошу прощения. PostgreSQL 8.1.3, PostgreSQL 7.4.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 23:59 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=2005218]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 361ms |

| 0 / 0 |
