Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Программирование для начинающих - общие вопросы.
  • Страница:
  • 1

ТЕМА:

Как вернуть запрос из функции? 12 года 9 мес. назад #632

  • sepia
  • sepia аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 8
  • Спасибо получено: 0
Подскажите еще, как вернуть выборку из процедуры/функции . Есть ли для этого какие-либо стандартные процедуры в Oracle?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Как вернуть запрос из функции? 12 года 9 мес. назад #635

Стандартно в Oracle для возврата выборки из процедуры/функции применяется REFCURSOR.

Самый простой способ для возврата последовательности чисел:


CREATE OR REPLACE FUNCTION pivot_number (
p_from NUMBER
, p_to NUMBER
) RETURN tbl_number AS
v_result tbl_number := tbl_number();
BEGIN
FOR i IN p_from .. p_to LOOP
v_result.extend();
v_result(v_result.LAST) := i;
END LOOP;
RETURN v_result;
END;
/

Если нужно вернуть несколько полей, тогда создаем объектный тип

CREATE OR REPLACE TYPE t_test AS object (
a NUMBER(9)
, b NUMBER(9)
)
/
CREATE OR REPLACE TYPE tbl_test AS TABLE OF t_test
/

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Как вернуть запрос из функции? 12 года 8 мес. назад #1869

У меня что то не получается способ для возврата последовательности чисел, в чем могут быть ошибки ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Как вернуть запрос из функции? 12 года 7 мес. назад #3034

если стоит необходимость вернуть запрос из функции или же с процедуры то применяют обычно стандарт REFCURSOR

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Как вернуть запрос из функции? 12 года 7 мес. назад #3285

sepia пишет: Подскажите еще, как вернуть выборку из процедуры/функции . Есть ли для этого какие-либо стандартные процедуры в Oracle?

я использую вот этот способ
CREATE OR REPLACE TYPE t_test AS object (
a NUMBER(9)
, b NUMBER(9)
)
/
CREATE OR REPLACE TYPE tbl_test AS TABLE OF t_test
/

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Как вернуть запрос из функции? 7 года 2 мес. назад #7829

Постите топики в соответсвующие разделы нашего форума! Тщательнее, товарищи!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.244 секунд