|
|
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Есть табличка t с полями v1 и v2 В поле v1 надо все время иметь количество записей в таблице с полем v1, т.е по сути выполнить запрос Код: plsql 1. 2. 3. 4. 5. Можно ли это сделать, не заводя дополнительный пакет и не применяя автономные транзакции? Oracle 11g, т.е есть compound triggers но не соображу как предотвратить рекурсивный вызов, выполняя запрос в after statement ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:41:16 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
> как предотвратить рекурсивный вызов Проверкой на изменяемое поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:57:47 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Быдло___кодеркак предотвратить рекурсивный вызов, выполняя запрос в after statement Пакетная переменная, которая анализируется в триггерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:58:07 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Пардон, пропустил "не заводя дополнительный пакет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 14:58:50 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Быдло___кодер, поищите на тему восходящей денормализации а лучше - убейте об стену постановщика этой пурги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 15:15:11 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Быдло___кодер, Вам хватит вью. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2016, 16:13:08 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#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. Проверяем Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 17:41:59 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Быдло___кодерПроверяем А теперь проверь свой быдлoкод: Сессия 1: insert into t(v1) values(1); Сессия 2: insert into t(v1) values(1); Сессия 1: commit; Сессия 2: commit; И получишь две строки с v1=1 и v2=1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 20:26:38 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Да, для многопользовательского режима такое не катит :( Как впрочем и решение с пакетными переменными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 08:45:18 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Собственно как и любое другое решение поскольку нет грязных чтений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 08:47:22 |
|
||
|
Обход мутирования таблицы
|
|||
|---|---|---|---|
|
#18+
Быдло___кодерСобственно как и любое другое решение поскольку нет грязных чтений Решение конечно есть - называется сериализация но вот подается это блюдо только как часть комплесного обеда вкупе с "вкусностями" типа locks, deadlocks, limited or no scalability и.т.д, и.т.п. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:50:34 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39244119&tid=1887793]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 393ms |

| 0 / 0 |
