|
Создание piplined функции
|
|||
---|---|---|---|
#18+
Доброго времени суток. Прошу помочь с созданием piplined функции. Таблица содержит следующие данные: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 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.
Но в строке Код: plsql 1.
выдает ошибки PLS-00321: expression 'L_RESULT' is inappropriate as the left hand side of an assignment statement и PLS-00306: wrong number or types of arguments in call to 'L_RESULT'. Что я написал не так, подскажите, пожалуйста? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 21:27 |
|
Создание piplined функции
|
|||
---|---|---|---|
#18+
007alex3 Что я написал не так, подскажите, пожалуйста? Все. Начнем с того что l_result это тип, т.е. это то же как ты бы написал: Код: plsql 1.
T.e. нужно определить переменную типа l_result и указать эту переменную а не тип. Далее: Код: plsql 1. 2. 3. 4.
вернет список из переменного числа элементов равного числу строк в customers1 где draw_key = 123456, скажем N элементов. Посему мы не знаем сколько полей вернет pivot - все что мы знаем это то что pivot вернет draw_key + (win_count,win_amount) * N. Так что имеем pivot возвращает переменное число полей а тип l_result фиксированное число полей тем более что pivot возвращает нечетное число полей а тип l_result четное (4 поля). Но это позже, а пока в твоем INTO только одна переменная (и не важно что объектного типа). Чтобы это работало SELECT * необходимо переписать SELECT чтобы он возвращал одно поле: SELECT l_result(col1,col2,...) где col1, col2, ... имена полей возвращаемых pivot. Вобщем как я и сказал - код в топку. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 04:29 |
|
|
start [/forum/topic.php?fid=52&msg=40061882&tid=1880290]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
122ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 478ms |
0 / 0 |