Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1
  • 2

ТЕМА:

Re: oracle табличные функции 12 года 3 мес. назад #4109

посмотрите вот так можно

CREATE OR REPLACE PACKAGE myPKG AUTHID CURRENT_USER IS

TYPE myREC IS RECORD(
a NUMBER,
b NUMBER);

TYPE TmyREC IS TABLE OF myREC;



FUNCTION myFunc(VID IN NUMBER) RETURN TmyREC
PIPELINED;

........

CREATE OR REPLACE PACKAGE BODY myPKG IS

FUNCTION myFunc(VID IN NUMBER) RETURN TmyREC
PIPELINED AS
vREC myREC;

BEGIN
FOR CUR IN (ваш запрос, например) LOOP

vREC.a := CUR_IZM.pole1;
vREC.b := CUR_IZM.pole2;
PIPE ROW(vREC);

END LOOP;

RETURN;
end;

В это случае можно воспользоваться возможностью объявления типа в пакете

Затем вот так

SELECT * from table (myPKG.myFunc(123))

Если объявит тип в схеме, то после его заполнения можно также сделать из него селект

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

Re: oracle табличные функции 12 года 3 мес. назад #4110

Всё готово, получилось. Выражаю всем огромную благодарность за помощь!

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

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