Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.12.2020, 12:09
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp, choice IN INT) IS BEGIN IF choice = 1 THEN OPEN emp_cv FOR SELECT * FROM emp WHERE comm IS NOT NULL; ELSIF choice = 2 THEN OPEN emp_cv FOR SELECT * FROM emp WHERE sal > 2500; ELSIF choice = 3 THEN OPEN emp_cv FOR SELECT * FROM emp WHERE deptno = 20; END IF; END; Подскажите как нужно перезаписать код чтобы была возможность сделать union результата первого силекта, второго, третьего ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 12:14
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
x17.mstu сделать union результата open.. for select .. union select .. union select .. Попробуйте внятно сформулировать, что вам на самом деле надо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 13:06
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
env, Да не так написал есть функция сreate or replace function f_api(p_emp in varchar2, p_emp_id in integer) return integer is cur sys_refcursor; BEGIN IF emp='engineer' THEN OPEN cur for Select * from EMPLOYEE where emp_id=p_emp_id; UNION ALL ELSIF emp='doctor' THEN OPEN cur for Select * from EMPLOYEE where emp_id=p_emp_id; END IF; return 0; END; В функцию должен передаваться список p_emp (может состоять из ('engineer', 'doctor') или из одного значения 'engineer') . Так вот в зависимости от этого нужно делать два UNION или один Как это реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 13:13
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
x17.mstu, Ничего не понял, но очень интересно. Попробуем ещё раз. Какую задачу вы решаете на самом деле? з.ы. Пока что задача больше похожа на "выстрелить себе в ногу" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 13:16
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
env, Есть функция в которую передается список и emp_id. Нужно вывести или результат обьединения (так как список состоит из двух параметров doctor и engineer ИЛИ результат одного селекта - если в качестве параметра передается одно значение в списке) Что непонятно, неясно? сreate or replace function f_api(p_emp in varchar2, p_emp_id in integer) return integer is cur sys_refcursor; BEGIN IF emp='engineer' THEN OPEN cur for Select * from EMPLOYEE where emp_id=p_emp_id; UNION ALL ELSIF emp='doctor' THEN OPEN cur for Select * from EMPLOYEE where emp_id=p_emp_id; END IF; return 0; END; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 13:26
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
я так понимаю что список это nesteed loop ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 15:19
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
В текущей постановке задачи ваш вопрос не имеет смысла. Приведённый код - поток бреда и только сбивает с толку. Опишите какую задачу решаете и почему выбран такой способ решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.12.2020, 22:39
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
x17.mstu PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp, choice IN INT) IS BEGIN IF choice = 1 THEN OPEN emp_cv FOR SELECT * FROM emp WHERE comm IS NOT NULL; ELSIF choice = 2 THEN OPEN emp_cv FOR SELECT * FROM emp WHERE sal > 2500; ELSIF choice = 3 THEN OPEN emp_cv FOR SELECT * FROM emp WHERE deptno = 20; END IF; END; Подскажите как нужно перезаписать код чтобы была возможность сделать union результата первого силекта, второго, третьего Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Но можно и так Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.12.2020, 10:21
|
|||
---|---|---|---|
|
|||
Вопрос по курсору |
|||
#18+
А зачем там UNION вообще? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.12.2020, 15:45
|
|||
---|---|---|---|
Вопрос по курсору |
|||
#18+
PuM256, В итоге сделал через парсинг json , на вход подал clob ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/search_topic.php?author=%D1%81%D0%BF%D1%80%D0%BE%D1%88%D1%83_%D0%BA%D0%B0_%D1%8F&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 713ms |
total: | 909ms |
0 / 0 |