Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые! Столкнулся вот с какой странностью. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Вроде ничего страшного, проверяешь что old = new и выходишь, но может можно как-то второй раз триггер вообще не запускать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 21:24 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
Адель, а чего вы тут видите странного ? сначала руле не исполняется, посколь не выполнено where exists (select 1 from tst WHERE a = new.a) потом руле в принципе не атомарно, т.е. сказать где у него сначала, и что будет потом, и в каком месте оно будет считать NEW (rcnfnb yjdjt d rf;ljv vtnct tuj egjvbyfybz) - ,tp cnfrfyf yt elf`ncz - короче, переведёте, я замахался что-то в общем в какой-то момент мы после инсерта попадаем опять в руле внутри той же транзы (думаю - аккурат на вашем return new; вы б поаккуратней, что ли, а то, умеючи, нефритовый стержень вконец поломаете да руки порежете), но уже по всем правилам дуем инстеад. т.ч. любой удод, без надобности юзающий руле - сам себе злобный буратино, одеревеневший по пояс, причём - с обоих концов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2013, 22:47 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
ССЗБАдель, в общем в какой-то момент мы после инсерта попадаем опять в руле внутри той же транзы (думаю - аккурат на вашем return new; Вот это и странно. Хорошо, руле убиваем,пишем все в триггере Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Все работает, но insert возвращает приложению 0, если заменяется на апдейт. А чтобы всем было хорошо - никак? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 00:27 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
Адель, ах, ви в этом смыысле я как-то просматривал решение, когда бифоре триггер возвращает таки NEW в любом случае, а AFTER триггер отменяет вставку (делетит только что "вставленное"). (в задаче партицирования). сейчас код уже не вспомню, но RETURN-ить получалось. хотя потом решили таки не пользоваться такой многоступенчатой логикой. и таки да "returning" -- это проблема, что для партицирования , что для апсерта. Поищите по форуму или в гугле - кажется я видел сносные (и, вроде, более приличные, чем делетить псевдовставку) решения и там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2013, 08:41 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
АдельВсе работает, но insert возвращает приложению 0 в гугле есть такое решение для инсерта на rule: 1. делаем вьюху на нашу таблицу 2. делаем instead of тригер на вьюху на insert где запустите ваш tst_update 3. делаем rule и прописываем правило что при инсерте надо делать вставку во вьюху минус решения: rule и CTE в одном запросе не работают без rule, вы вместо вставки в таблицу делаете вставку во вьюху, можно даже вью и таблицу поменять местами но надо так же будет создать instead of на апйдейт и на делет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 01:38 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
АдельВсе работает, но insert возвращает приложению 0 в гугле есть такое решение для инсерта на rule: 1. делаем вьюху на нашу таблицу 2. делаем instead of тригер на вьюху на insert где запустите ваш tst_update 3. делаем rule и прописываем правило что при инсерте надо делать вставку во вьюху минус решения: rule и CTE в одном запросе не работают без rule, вы вместо вставки в таблицу делаете вставку во вьюху, можно даже вью и таблицу поменять местами но надо так же будет создать instead of на апйдейт и на делет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 01:42 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
Legushka, "а ты азартен , парамоша" (сс) вы там , в казане совсем все сварились одного 3 года тому отучали от руля так теперь другой варвар все руки пообрезал, а всё туда же "лавровы, ля" ---- напоминаю, ссылка на интернеты тут 19738578 реализация в т.ч с апдейтом -- тут 19763729 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2016, 15:55 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
qwwq, ваша взяла, реализация на rule заваливает нагрузочные тесты в ERROR: out of shared memory буду отучаться-) хочу реализовать вашу схему: заменить вместо таблицы вьюху, навесить тригеры instead of -) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2016, 09:54 |
|
||
|
rule не заменяет а дополняет insert - видно если есть триггер
|
|||
|---|---|---|---|
|
#18+
Legushkaqwwq, ваша взяла, реализация на rule заваливает нагрузочные тесты в ERROR: out of shared memory буду отучаться-) хочу реализовать вашу схему: заменить вместо таблицы вьюху, навесить тригеры instead of -) я вот тут думал послабление сделать -- ещё одного предка завести, опубликовать, а вью спрятать и через рули от публичного корня задействовать, чтобы его системные видеть как родные. так блин оно с рулями ещё и ретёнить не умеет. пишет -- "не могу с инстеад рулями returning делать". т.ч все эти рули -- зыбкое нечто. с перепоя оно там, не иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2016, 17:21 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=84&tid=1996942]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 286ms |
| total: | 446ms |

| 0 / 0 |
