|
clob построчно
|
|||
---|---|---|---|
#18+
VBRНапример такой вариант. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Кстати, а что вы обычно предпринимаете, когда заменяемая строка делится кусками размером 8192 на две части? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 12:37 |
|
clob построчно
|
|||
---|---|---|---|
#18+
mviciVBR Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 12:58 |
|
clob построчно
|
|||
---|---|---|---|
#18+
Нет все равно select * from ( select extract(column_value,'/b/text()').getStringVal() str from table( xmlsequence(xmltype( '<a><b>' || replaceclob ((select t from t2),chr(10),'</b><b>') || '</b></a>' ).extract('//b') ) ) ) возвращает одну пустую строку, может версия oracle влияет у меня 9(в таблице одно заполненое поле clob и одна запись да и текста в нем на 9 мгб). Ну и естетсвенно это не работает with t1 as ( select rownum rn, str from ( select extract(column_value,'/b/text()').getStringVal() str from table( xmlsequence(xmltype('<a><b>'|| java_pck.replaceclob ((select reestr from sverkareestr t where t.id=1),chr(10),'</b><b>')|| '</b></a>').extract('//b')))) ) SELECT rn, (REGEXP_SUBSTR(str, '[^ ]+', 1, Level)) wrd FROM t1 CONNECT BY prior rn=rn and prior dbms_random.random is not null and REGEXP_SUBSTR(str, '[^ ]+', 1, LEVEL) IS not NULL а к тому же здесь REGEXP_SUBSTR Что касается WITH ttt AS (SELECT DBMS_LOB.getlength (txt) - DBMS_LOB.getlength (REPLACE (txt, CHR (13), '')) ln_cnt FROM loader.bonus_mates) SELECT lvl num, to_char(','||SUBSTR (txt, start_pos+2, end_pos - start_pos -2)) line FROM (SELECT LEVEL lvl, NVL (DBMS_LOB.INSTR (txt, CHR (13) || CHR (10), 1, LEVEL - 1), 0) start_pos ,DBMS_LOB.INSTR (txt, CHR (13) || CHR (10), 1, LEVEL) end_pos, txt FROM loader.bonus_mates CONNECT BY LEVEL < (SELECT ln_cnt FROM ttt)) Что за строка CONNECT BY LEVEL < (SELECT ln_cnt FROM ttt)) у меня на эту строку ошибка выдается ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 15:36 |
|
clob построчно
|
|||
---|---|---|---|
#18+
ElicmviciVBR Код: plaintext 1. 2.
Черт, не заметил. Но тогда непонятно, зачем тут Ява, если там аналогично гоняются байты из буфера в буфер. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 16:32 |
|
clob построчно
|
|||
---|---|---|---|
#18+
Тогда по шагам. что выдает (заменяет или нет chr(10) на '</b><b>'): Код: plaintext 1.
потом Код: plaintext 1. 2. 3. 4. 5. 6. 7.
2 mvici, Java использовал для replace в clob'e. Пробовал через dbms_lob - тормозило. Прикольно. Сейчас попробовал, на 10g обычный replace отработал ок. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 17:31 |
|
clob построчно
|
|||
---|---|---|---|
#18+
VBR 2 mvici, Java использовал для replace в clob'e. Пробовал через dbms_lob - тормозило. А в PL/SQL вы использовали временные clob с кэшированием? аналогично вот этому вызову явы: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 17:39 |
|
clob построчно
|
|||
---|---|---|---|
#18+
Использовал DBMS_LOB.CREATETEMPORARY(v_lob, true); Но сейчас для меня все это уже не имеет смысла, раз обычный replace для 10g работает c clob. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2009, 17:56 |
|
clob построчно
|
|||
---|---|---|---|
#18+
Запрос select replaceclob ((select t from t2),chr(10),'</b><b>') from dual; возвращает одну пустую строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2009, 13:43 |
|
clob построчно
|
|||
---|---|---|---|
#18+
А что делать если clob поле у нас на 300 мегабайт? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 17:24 |
|
clob построчно
|
|||
---|---|---|---|
#18+
VBR, спустя 6 лет, может подскажете как разбить построчно clob поле на 300 мегабайт. Вообще задача стоит разместить это поле построчно в таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 17:28 |
|
clob построчно
|
|||
---|---|---|---|
#18+
estro, Застрелиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 17:28 |
|
clob построчно
|
|||
---|---|---|---|
#18+
estro, чисто для собственного интереса.... а зачем было грузить 300 метров в базу?))) не проще было loaderом загрузить как любой csv..... или стрелять себе в ногу опять становиться модным?) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 17:34 |
|
clob построчно
|
|||
---|---|---|---|
#18+
estro, читай последовательными кусками и ищи разделители уже в прочитанном куске. Если разделить более одного символа, читать куски с перекрытием. Но вероятно быстрее будет выгрузить и загрузить лоадером/внешней таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2015, 17:43 |
|
clob построчно
|
|||
---|---|---|---|
#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. 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. 68. 69. 70. 71. 72. 73.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2016, 07:15 |
|
clob построчно
|
|||
---|---|---|---|
#18+
Немного дописал, т.к. понадобилось разделять по crlf. Сделал учет перекрытий при считывании. Убрал отбрасывание разделителя, теперь строка возвращается с ним. Код: 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. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2016, 07:28 |
|
clob построчно
|
|||
---|---|---|---|
#18+
givanovПишем простой автомат. Должно работать быстрее всего. Код: 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.
Проверил несколько вариантов - вариант от givanov действительно самый быстрый. Для малых объемов самый компактный наверное такой Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:15 |
|
clob построчно
|
|||
---|---|---|---|
#18+
IgorDgivanov Код: plsql 1. 2. 3. 4. 5.
Проверил несколько вариантов - вариант от givanov действительно самый быстрый.Slow-by-slow в отношении LOB-а - это slow-by-slow в квадрате. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:35 |
|
clob построчно
|
|||
---|---|---|---|
#18+
Dennica, спасибо! Воспользовался этим решением. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 17:08 |
|
clob построчно
|
|||
---|---|---|---|
#18+
VBRНапример такой вариант. Код: 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.
Попробовал, работает в 2-3 раза быстрее стандартной replaceAll. Вероятно из-за того, что replaceAll поддерживает регулярные выражения. Огромное вам человеческое спасибо за выложенный кусок кода. Пол дня курил инет, не мог понять как clob инициализировать в хранимке, а тут есть! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2019, 16:34 |
|
clob построчно
|
|||
---|---|---|---|
#18+
IgorDкак clobПро clob откуда узнал? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2019, 19:14 |
|
clob построчно
|
|||
---|---|---|---|
#18+
-2-, Clob инициализируется через Connection (как один из немногих вариантов). Не мог понять, как в хранимке описать подключение к собственной базе. Решение было в коде - new OracleDriver().defaultConnection(); Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2019, 09:04 |
|
clob построчно
|
|||
---|---|---|---|
#18+
IgorDНе мог понять, как в хранимке описать подключение к собственной базе. И правильно. Штатную документацию читает только беспонтовое ламерьё. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2019, 14:36 |
|
clob построчно
|
|||
---|---|---|---|
#18+
andrey_anonymousIgorDНе мог понять, как в хранимке описать подключение к собственной базе. И правильно. Штатную документацию читает только беспонтовое ламерьё. Я читать не умею. Только писать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2019, 14:40 |
|
|
start [/forum/topic.php?fid=52&msg=35972423&tid=1882342]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 417ms |
0 / 0 |