kurojneko
@kurojneko

Как в python cx_oracle вернуть из функции таблицу?

Здравствуйте, уже второй день рою интернеты и ничего не могу найти.
Есть функция
create or replace PROCEDURE GET_GROUPS;
RESULT (
        PARENT IN NUMBER, 
        NAME OUT VARCHAR2, 
        FULLNAME OUT VARCHAR2, 
        ID OUT NUMBER)
AS
BEGIN
  SELECT
      GA.ID, GA.NAME, GA.FULLNAME
      INTO ID, NAME, FULLNAME
  FROM
      GROUPT GA
  WHERE 
     GA.PARENT == PARENT
END;

Суть очень простая, по одному ид дергаем несколько.
Код в питоне:

con = system.db.connect()
cur = con.cursor()
raw_cur = cur.get_object()

res = [id_parent,raw_cur.var(str),raw_cur.var(str),raw_cur.var(int)]
res = cur.callproc('WHS.GET_GROUPS', res)

Конечно же ничего не работает, Sql говорит: Точная выборка возвращает количество строк больше запрошенного.
Как получить из процедуры таблицу? Как нормально передать туда переменные (мне кажется есть путь проще чем объявление переменных под выходные данные)?
  • Вопрос задан
  • 411 просмотров
Пригласить эксперта
Ответы на вопрос 1
@surly
Нужна не процедура, а pipelined-функция.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 21:54
20000 руб./за проект
25 нояб. 2024, в 21:39
3000 руб./за проект
25 нояб. 2024, в 21:34
7000 руб./за проект