|
|
|
type table
|
|||
|---|---|---|---|
|
#18+
Коллеги, помогите дилетанту. Как делать правильно, чтобы избежать ошибки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 14:37 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, xtbl что из себя представляет? .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 14:57 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
Использовать SQL тип коллекции а не PL/SQL тип коллекции. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 14:57 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, сегодня, 14:57 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21726912] [21726912] >xtbl что из себя представляет? < Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 15:15 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>SY, сегодня, 14:57 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21726914] [21726914] >Использовать SQL тип коллекции а не PL/SQL тип коллекции. <Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 15:17 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 15:37 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, сегодня, 15:37 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21726994] [21726994] >SQL> ed... <Я привел ошибку времени исполнения, а не компиляции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 15:54 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевЯ привел ошибку времени исполнения, а не компиляцииРаскрой мысль, а тут одни дилетанты, не понимают к чему это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 16:05 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевЯ привел ошибку времени исполнения, а не компиляции Анонимный PL/SQL блок компилируется и выполняется в одном флаконе. Иcходя из твоего отвeта Станиславу ты уже используешь SQL типы - обьектный row_tb и nested table tt_tb. Тогда что есть xtbl? Определен xtbl как tt_tb или? Похоже нет. Иначе все пучком: Код: 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 16:32 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевЯ привел ошибку времени исполнения, а не компиляции У вас компилится но не выполняется? cur_viborka как обьявлен? зи 21726994 компиляция и выполнение .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 16:42 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>SY, сегодня, 16:32 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727082] [21727082] >Анонимный PL/SQL блок компилируется… <Решаю задачу на min/max. Вот полный код: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 16:45 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, t_cursor как обьявлен? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 16:53 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, сегодня, 16:53 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727117][21727117] >t_cursor как обьявлен? < Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 17:10 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>SY, сегодня, 17:06 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727139] [21727139] >Версия Oracle? <8.17 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 17:11 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев> >Версия Oracle? <8.17 Похоже приехали :). SY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 17:17 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#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. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 17:24 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
Stax, У тебя 8.1.7? В принципе дoлжно работать и на 8.1.7, а в действительности... SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 18:55 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
SYВ принципе дoлжно работать и на 8.1.7Напрямую из plsql-переменной нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 19:42 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>-2-, сегодня, 19:42 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727316] [21727316] >Напрямую из plsql-переменной нет. <А как не напрямую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 20:00 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
-2-SYВ принципе дoлжно работать и на 8.1.7Напрямую из plsql-переменной нет. A, традиционное PL/SQL запаздывает на один релиз :). SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 20:20 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевА как не напрямую? Динамический SQL. Попрoбуй: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Хотя боюсь придется ваять весь SQL: Код: 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 20:36 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>SY, сегодня, 20:36 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727374] [21727374] >Динамический SQL. Попрoбуй: <Спасибо. Но мне больше нравится этот вариант: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 20:58 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
SYДинамический SQL.Возможно достаточно будет написать cast переменной к тому же sql-типу или подзапрос с cast. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 08:30 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
-2-SYДинамический SQL.Возможно достаточно будет написать cast переменной к тому же sql-типу или подзапрос с cast.Собственно, документация : Manipulating Local CollectionsWithin PL/SQL, to manipulate a local collection, use the operators TABLE and CAST. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 08:46 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
SYStax, У тебя 8.1.7? В принципе дoлжно работать и на 8.1.7, а в действительности... SY. нет восьмерки, да и память сбоит как там было попробовать 1) явно указать тип 21727670 2) кляузу THE (не помню когда ее забанили) Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 09:41 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
Stax2) кляузу THE (не помню когда ее забанили)В 8.0 добавили, в 8.1 убрали даже из синтаксических диаграмм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 10:01 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, сегодня, 09:41 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727727] [21727727] >...open cur_viborka for SELECT * FROM table(cast(xtbl as tt_tb));... < Большое спасибо. Ваш вариант работает штатно и быстро. Другой вариант работает медленнее: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 18:50 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев Код: plsql 1. 2. 3. 4. 5. 6. 7. Дальше можно не читать, код сразу на выброс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 19:06 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>andrey_anonymous, сегодня, 19:06 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21728609][21728609] >Дальше можно не читать, код сразу на выброс. < Почему? Я не специалист по Oracle, объясните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 19:56 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевЯ не специалист по Oracle, объясните. 1. Для временного хранения данных в oracle существует global temporary table. 2. Использование обычной таблицы вместо GTT предполагает синхронизацию доступа или иной способ развести конкурирующие транзакции. В представленном коде это не учтено - одновременный вызов из двух и более параллельных сессий легко может привести к тихому (без exception) wrong results, причем ошибка будет "плавающая". 3. Даже если Вы решили использовать обычную таблицу вместо temporary - то это не повод выполнять truncate внутри утилитарной процедуры. truncate относится к DDL, а DDL в oracle фиксируют транзакцию. Включение такой процедуры в более сложный процесс легко сломает логику вызывающего процесса. Как общая рекомендация - потратьте день-другой на вдумчивое изучение хотя бы этого раздела , окупится сторицей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 21:25 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>andrey_anonymous, сегодня, 21:25 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21728752] [21728752] >1. Для временного хранения данных в oracle существует global temporary table. < Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. так что код можно читать и дальше, и не выбрасывать, а пользоваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 21:41 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевтак что код можно читать и дальше, и не выбрасывать, а пользоваться Это вряд ли. truncate тем более надо убрать. И таблицу лучше объявить on commit delete rows, ни к чему тут preserve. Что до str2tbl, то Код: plsql 1. суть треш. Поищите на форуме, тут много примеров парсинга csv-строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 21:55 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>andrey_anonymous, сегодня, 21:55 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21728791][21728791] >Это вряд ли. <На вкус, на цвет... >...И таблицу лучше объявить on commit delete rows, ни к чему тут preserve. <Спасибо. >...суть треш. <Не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 22:45 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеевНа вкус, на цвет...Распечатай свою нетленку и повесь на стенку в рамочке. Каждый раз смотря на сиё чудо, сможешь вспомнить "Я - Гений". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 07:30 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Elic, сегодня, 07:30 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21728971][21728971] >Распечатай свою нетленку и повесь … <Увы, но эпистолярный жанр не лечит клинику ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:29 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, вчера, 09:41 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21727727][21727727] >...open cur_viborka for SELECT * FROM table(cast(xtbl as tt_tb)); <Ещё раз спасибо. Теперь можно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. и соответственно так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 15:50 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, from OBJVR obv, table(cast(xtbl_tb_pk as tt_tb_pk)) pk в 8-ке не проходит? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 16:40 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, сегодня, 16:40 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21729863][21729863] >from OBJVR obv, table(cast(xtbl_tb_pk as tt_tb_pk)) pk в 8-ке не проходит? <Да. Но мне не понятен такой факт - определяю xtbl_tb_pk так: Код: plsql 1. 2. 3. но что делать с содержимым xtbl_tb_pk после выполнения Srez_RN? Нельзя ли как то преобразовать ==procedure str2tbl(str in varchar2) is== в функцию вида ==function str2tbl(str in varchar2) return tt_tb_pk as== ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 18:07 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, если грубо то перед выходами из процедуры поcтавить return xtbl_tb_pk; и поменять вызов процедуры на вызов ф-ции зы возможно Вам и не надо менять на ф-цию вместо локальной переменной xtbl пользовать пакетную NCUYAO_GIS.xtbl_tb_pk ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 11:03 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. Ошибка. Вместо C нужно AH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 11:16 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
>Stax, сегодня, 11:03 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305005&msg=21731501][21731501] >...вместо локальной переменной ... <Крайний вариант такой: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. но не знаю, как очистить xtbl_tb_pk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 14:35 |
|
||
|
type table
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, А он и так чистится: Код: plsql 1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 15:02 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1883201]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
90ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 494ms |

| 0 / 0 |
