|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
andrey_anonymous Начиная с 18с это не так, даже баг специальный по этому поводу закодили :) спасибо не знал, проверить не на чем (права забрали) зы надо будет еще "ссылку" из другого пакета попробовать (в древних версиях у меня не работало) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 16:42 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Как все просто через интерфейс)). Только вот в приложение это не запихнуть. Между begin и end. Потому что на этот момент времянка не создана и курсор скажет что такой таблице не существует. В этом то и гемор. И в чем гемор? Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 17:02 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
ой недосмотр OPEN V_CUR FOR 'SELECT D.DNAME, динамика ps заполнять тмп ведь тоже надо через динамический ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 17:12 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Далее очищается, только вот после этого HWM уже не мдвинешь потому вто выделенные сегменты её сдвинули и tablespace со временем может расти и потом потребует обслуживания. Немного не так. Не буду вдаваться в детали, но прокомментирую рост тейблспейса и его обслуживание. Во-первых, сам он если и вырастет, то только при соблюдении ряда условий (наличие в нём датафайлов меньше 32 Гб с autoextend on, либо bigfile TS с autoextend on). Соответственно, не добавляете датафайлы с autoextend on - роста не будет. Во-вторых, если мы говорим о таком небольшом количестве данных, которое помещается в памяти, то о каком росте темпа вообще идёт речь? И наоборот, если требуется много темпа, то как вы собираетесь это в памяти хранить? Вообще, я неоднократно слышал похожие вопросы от людей, которые привыкли к Информиксу или MSSQL. Но всё-таки все СУБД разные, не стоит пытаться писать под Оракл как под MSSQL, мой вам совет. И это касается не только временных таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 17:51 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
Stax, Уважаемый Stax, с коллекциями беда. Я впринципе не понимаю что это и для чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 10:45 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
andrey_anonymous, Тем не менее всяческие запросы порождают раздувание tempDB и назад оно не сожмется. У себя на работе я постоянно его пересоздаю и делаю alter database дабы перенаправить новые кривые запросы в него. Раздувается до 200 Гб. Можно конечно иначе, но пока обхожусь так. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 10:47 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
А зачем его постоянно пересоздавать, если при вашей рабочей нагрузке происходит стабилизация на 200 Гб? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 10:16 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Stax, Уважаемый Stax, с коллекциями беда. Я впринципе не понимаю что это и для чего. oracle pl sql массивы - Пошук Google для чего? имхо, для удобства напр реализовали TYPE xxx IS TABLE OF INDEX BY PLS_INTEGER, некоторым етого оказалось мало, развили добавив INDEX BY VARCHAR2 INDEX BY DATE пока нет ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 11:02 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
PuM256, А я и не утверждал что стабилизация на 200. Я пока не знаю. Но с нашими запросами он может рости и больше. Просто на 184Гб я решил пересоздать новый.) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 17:19 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
Stax juratorneo Stax, Уважаемый Stax, с коллекциями беда. Я впринципе не понимаю что это и для чего. напр реализовали TYPE xxx IS TABLE OF INDEX BY PLS_INTEGER, некоторым ..... stax TYPE xxx IS TABLE OF INDEX BY varchar(30) К примеру когда объявляют подобное. То как понять почему 30 байт?? А не больше. Чем руководствоваться?? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 17:22 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo К примеру когда объявляют подобное. То как понять почему 30 байт?? А не больше. Чем руководствоваться?? в зависимости от нужд напр, краткое название организации в Украине 38 счет 14 IBAN - 29 код валюты - 3 зы ето из почему у Вас p_6 varchar2( 15 ) ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 17:53 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
SY juratorneo Как все просто через интерфейс)). Только вот в приложение это не запихнуть. Между begin и end. Потому что на этот момент времянка не создана и курсор скажет что такой таблице не существует. В этом то и гемор. И в чем гемор? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
SY. Подскажи плз в чем пишешь код ?? В какой программе?? Я про то, что текс хорошо отформатирован. Sql developer даже если и нажать ctrl + F7 вроде, то всё равно так не построит. Я вот на dbForge. Хотя у него есть свои косяки ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2021, 07:58 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Подскажи плз в чем пишешь код ?? Я "старая школа" и долго работал когда ни GUI ни форматеров не существовало. Посему выработал свой формат и пишу ручками сразу в этом формате. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2021, 16:32 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Подскажи плз в чем пишешь код ?? В какой программе?? Я про то, что текс хорошо отформатирован. Sql developer даже если и нажать ctrl + F7 вроде, то всё равно так не построит. Я вот на dbForge. Хотя у него есть свои косяки ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2021, 19:40 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
Коллеги, может кто объяснит или примером покажет Если загрузить в коллекцию некие данные. Как потом эту структуру присоединить с помощью join к курсору. И вообще можно ли??? Мне это надо для того, что я не плодил таблицы GLOBAL TEMPORARY для транзита данных. Наверняка есть выход ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 09:40 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneoМне это надо для того, что я не плодил таблицы GLOBAL TEMPORARY для транзита данных. А у тебя что, аллергия на них?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:40 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Коллеги, может кто объяснит или примером покажет чем не подходят примеры из 22401264 ? ps приведите пример с GLOBAL TEMPORARY , переделаю с "коллекциями" без учета 22401398 ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:57 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Коллеги, может кто объяснит или примером покажет Если загрузить в коллекцию некие данные. Как потом эту структуру присоединить с помощью join к курсору. И вообще можно ли??? Мне это надо для того, что я не плодил таблицы GLOBAL TEMPORARY для транзита данных. Наверняка есть выход Уже несколько раз говорилось стоимость disk storage копейки по сравнению со стоимостью memory а ты все туда-же. У тебя есть процесс транзита данных который загоняет скажем 100GB в GLOBAL TEMPORARY. Если ON COMMIT DELETE ROWS то 100GB вернутся в свободное пространство TEMP. Конечно сам размер TEMP не уменьшится. Ну сделаешь ты RESIZE и что? У тебя что транзит данных одноразовый? Если нет то RESIZE потратит время зря и более того следующий транзит данных опять потратит время на увеличение TEMP. Другой вопрос если ON COMMIT PRESERVE ROWS и используется connection pooling. Тогда раньше или позже GLOBAL TEMPORARY в каждой сессии в пуле будет 100GB. В этом случае процесс транзита данных может явно TRUNCATE GTT DROP STORAGE или даже TRUNCATE GTT DROP ALL STORAGE. Далее - к курсору ничего добавить нельзя. Не путай курсор с join. Пример join с varray: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Или просто: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 14:25 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
Stax С примером до понедельника. Ушел с работы. Касаемо того, чем не устроил. Вопрос просто в том, что я его не совсем понял. Как мне данные из курсора передать в коллекцию и потом содержимое коллекции join с другим запраом. Суть !! В одном запросе у меня в курсор грузятся некие расчетные данные. Далее мне их необходимо присоединить к другому запросу который на тот момент должен уже видеть те данные. Просто я работал в sql mms и там прекрасно реализована работа с временными таблицами. Select p1, p2, p3 into #TempTable. Всё таблица создана и делай с ней что угодно пока жива сессия. Щас с oracle. Вот и беда. Я не хочу плодить ни лишних таблиц, ни их лишних определений. Короче засорять схему. Отсюда и вопрос как можно еще это провернуть ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 16:18 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo В одном запросе у меня в курсор грузятся некие расчетные данные. Далее мне их необходимо присоединить к другому запросу который на тот момент должен уже видеть те данные. Просто я работал в sql mms и там прекрасно реализована работа с временными таблицами. Select p1, p2, p3 into #TempTable. Всё таблица создана и делай с ней что угодно пока жива сессия. Щас с oracle. Вот и беда. Я не хочу плодить ни лишних таблиц, ни их лишних определений. Короче засорять схему. Отсюда и вопрос как можно еще это провернуть Забудь про sql mms - совершенно другая философия. Зачем разбивать на куски? Код: plsql 1. 2. 3. 4. 5. 6. 7.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 16:54 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
SY juratorneo В одном запросе у меня в курсор грузятся некие расчетные данные. Далее мне их необходимо присоединить к другому запросу который на тот момент должен уже видеть те данные. Просто я работал в sql mms и там прекрасно реализована работа с временными таблицами. Select p1, p2, p3 into #TempTable. Всё таблица создана и делай с ней что угодно пока жива сессия. Щас с oracle. Вот и беда. Я не хочу плодить ни лишних таблиц, ни их лишних определений. Короче засорять схему. Отсюда и вопрос как можно еще это провернуть Забудь про sql mms - совершенно другая философия. Зачем разбивать на куски? Код: plsql 1. 2. 3. 4. 5. 6. 7.
SY. Обобщенные табличные выражения знакомы мне очень хорошо. Подобие Вьюх. Однако как это можно впихнуть в PL/SQL.?? Сори если туплю. Я просто с Oracle 1 год только. Всего понемногу ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 07:17 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo Обобщенные табличные выражения знакомы мне очень хорошо. Подобие Вьюх. Однако как это можно впихнуть в PL/SQL.?? Сори если туплю. Я просто с Oracle 1 год только. Всего понемногу PL/SQL что и для чего? И почему PL/SQL? Огласи бизнес задачу. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:15 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
juratorneo как это можно впихнуть в PL/SQL.? Да так и впихнуть... Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:57 |
|
Privat Temporary table in PL/SQL WITH Cursor
|
|||
---|---|---|---|
#18+
andrey_anonymous juratorneo как это можно впихнуть в PL/SQL.? Да так и впихнуть... Код: plsql 1. 2. 3. 4. 5.
Благодарю за подсказку. Попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:36 |
|
|
start [/forum/topic.php?fid=52&msg=40116940&tid=1879697]: |
0ms |
get settings: |
16ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
34ms |
get topic data: |
2ms |
get forum data: |
1ms |
get page messages: |
409ms |
get tp. blocked users: |
0ms |
others: | 384ms |
total: | 854ms |
0 / 0 |