|
почему два раза выводится 100
|
|||
---|---|---|---|
#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. 32. 33. 34. 35. 36.
я ожидал увидеть 100 200 а вижу 100 100 т.е. при открытии курсора for данные считываются и где-то сохраняются? на это же куча памяти тратится, наверное. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 19:07 |
|
почему два раза выводится 100
|
|||
---|---|---|---|
#18+
Albatross, Tвой селект возвращает: rowid1,1,1,100 rowid2,2,1,100 Посему первая итерация: 1. выберет первую строку: rowid1,1,1,100 2. dbms_output.put_line(t.d) выплюнет 100 3. update изменит d первой строки на 200 Bторая итерация: 1. выберет вторую строку: rowid2,2,1,100 2. dbms_output.put_line(t.d) выплюнет 100 3. update изменит d второй строки на 200 Больше вопросов нет? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 19:48 |
|
почему два раза выводится 100
|
|||
---|---|---|---|
#18+
Albatrossт.е. при открытии курсора for данные считываются и где-то сохраняются? на это же куча памяти тратится, наверное. При открытии курсора ничего не считываeтся. Считывает FETCH. Kурсор хранит SCN момента открытия и посему FETCH ищет данные как они были на момент открытия курсора если надо роясь в UNDO. И если UDNO этого момента уже затерт то получишь ORA-01555 (snapshot too old). SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2019, 19:57 |
|
почему два раза выводится 100
|
|||
---|---|---|---|
#18+
Albatrossт.е. при открытии курсора for данные считываются и где-то сохраняются?RTFM Multiversion Read Consistency + Statement-Level Read Consistency (FAQ) P.S. Соломон, полагаешь, твой вольно-косноязычный пересказ лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 07:45 |
|
почему два раза выводится 100
|
|||
---|---|---|---|
#18+
SYПосему первая итерация: 1. выберет первую строку: rowid1,1,1,100 Или первые сто строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2019, 08:26 |
|
|
start [/forum/topic.php?fid=52&tid=1882036]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 258ms |
total: | 386ms |
0 / 0 |