|
|
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть тип, на основании него создаю таблицу. Затем хочу реализовать функцию которая вернет "таблицу" с помощью pipe row и получаю "expression is of wrong type". Причем если таблицу создавать явно(с описанием столбцов), то такой проблемы нет. Если кто-то подскажет варианты решения, то буду очень благодарен Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 12:55:30 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
LeoArslan, Надо привести результат запроса к необходимому типу. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 13:28:25 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
!Z!, Спасибо. А есть какие-то варианты без перечисления полей в "pipe row (typeTest(curr.fio, curr.id));" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 13:35:45 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 13:42:25 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, Да этот вариант работает как я указал в самом начале. Не очень хочется описывать поля в таблице,в типе, а потом перечислять еще и в функции.Потом сложно сопровождать когда надо что то изменить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 13:48:03 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
LeoArslanandrey_anonymous, Да этот вариант работает как я указал в самом начале. Не очень хочется описывать поля в таблице,в типе, а потом перечислять еще и в функции.Потом сложно сопровождать когда надо что то изменить Вот чтобы не перечислять/не переписывать - не надо создавать таблицу as of type. Нужный для пакетной pipelined SQL-тип будет создан автомагически на основании описания табличного типа в пакете, который - table of %rowtype ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 13:51:38 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
LeoArslanandrey_anonymous, Да этот вариант работает как я указал в самом начале. Не очень хочется описывать поля в таблице,в типе, а потом перечислять еще и в функции.Потом сложно сопровождать когда надо что то изменить куда как лучше поналудить типов, обернуть их в (к примеру) в джаву.. шутка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 13:54:25 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
LeoArslan, если создаете пайплановую функцию, то тип, который она возвращает, надо объявлять на уровне схемы, а не в пакете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2016, 21:03:52 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
Ярослав БатозскийLeoArslan, если создаете пайплановую функцию, то тип, который она возвращает, надо объявлять на уровне схемы, а не в пакете Только не "надо", а "стоит". Некоторых устраивает то, что Oracle автоматически создаёт для конвейеров, возвращающих пакетные типы, соответствующие объектные типы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2016, 15:45:58 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
LeoArslanДобрый день. Есть тип, на основании него создаю таблицу. Затем хочу реализовать функцию которая вернет "таблицу" с помощью pipe row и получаю "expression is of wrong type". Причем если таблицу создавать явно(с описанием столбцов), то такой проблемы нет. Если кто-то подскажет варианты решения, то буду очень благодарен Код: 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. CREATE GLOBAL TEMPORARY TABLE tmp_table_test(F typeTest); і тд Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 18:38:24 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
LeoArslan, в догонку Код: plsql 1. 2. 3. 4. 5. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 18:48:01 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
suPPLerЯрослав БатозскийLeoArslan, если создаете пайплановую функцию, то тип, который она возвращает, надо объявлять на уровне схемы, а не в пакете Только не "надо", а "стоит". Некоторых устраивает то, что Oracle автоматически создаёт для конвейеров, возвращающих пакетные типы, соответствующие объектные типы. Думаю, лучше создавать на уровне схемы. Если в пакете -- не удастся сделать СЕЛЕКТ из такой коллекции. Вот, только что получил и убедился, о чём знал раньше [Error] PLS-00642 (58: 55): PLS-00642: local collection types not allowed in SQL statements 11.2.0.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 03:30:24 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
Ярослав БатозскийsuPPLerЯрослав Батозскийесли создаете пайплановую функцию , то тип, который она возвращает, надо объявлять на уровне схемы, а не в пакетеТолько не "надо", а "стоит". Некоторых устраивает то, что Oracle автоматически создаёт для конвейеров, возвращающих пакетные типы, соответствующие объектные типы.Думаю, лучше создавать на уровне схемы. Если в пакете -- не удастся сделать СЕЛЕКТ из такой коллекции.Чудак, ты непроходимо непоследователен. Табличные функции не могут быть не-select-ируемыми. Просто по определению.Ярослав БатозскийВот, только что получил и убедился, о чём знал раньшеТвои знания настолько обрывочны, что их не стоит выплёскивать в форум во избежание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 07:26:52 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 13:25:47 |
|
||
|
type, table и function pipelined
|
|||
|---|---|---|---|
|
#18+
[quote Elic]Ярослав БатозскийТвои знания настолько обрывочны, что их не стоит выплёскивать в форум во избежание. Я говорил вот про что: http://www.sql.ru/forum/240311/pl-sql-podskazhite http://www.dba-oracle.com/t_pls_00642_local_collection_types_not_allowed_in_sql_statement.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2016, 14:40:21 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=212&tid=1887912]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
416ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 715ms |

| 0 / 0 |
