Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Oracle: процедуры с переменным числом параметров

416
18 сентября 2009 года
MaitreDesir
380 / / 02.01.2008
Доброго дня.
Подскажите, как можно передать неопределенное число параметров в процедуру в Oracle?
Пока только одно решение вижу - создать таблицу, перед вызовом процедуры наполнять ее, процедура из нее будет брать значения и очищать. Но при таком методе - какой смысл в процедуре?
416
21 сентября 2009 года
MaitreDesir
380 / / 02.01.2008
Что то я повторяюсь - сам зада вопросы и сам себе отвечаю
Решение простейшее - создается тип-таблица и передается как параметр. Пример такой:
Код:
CREATE TYPE param_list AS TABLE OF number;
CREATE PROCEDURE test_params(
  p_list IN param_list
) AS
item number;
BEGIN
  IF p_list.count>0 THEN   --Если список не пуст
    item := p_list.first;       -- Получаем первый элемент списка
    LOOP
      --делаем чтото с item
    EXIT WHERE item=p_list.last;  --Выходим когда текущий обработаный является последним
      item := p_list.next(item);     --Если не вышли - перходим к следующему (он есть)
    END LOOP;
  END IF;
END;
51K
21 сентября 2009 года
laba
16 / / 20.08.2009
Либо так, либо использовать PL/SQL-таблицу
36K
21 сентября 2009 года
Sonia
74 / / 21.05.2009
Цитата: laba
Либо так, либо использовать PL/SQL-таблицу



Какой смысл так делать если задача - сделать клиента тоньше, а сервер толще?

Цитата: MaitreDesir
... создать таблицу, перед вызовом процедуры наполнять ее, процедура из нее будет брать значения и очищать. Но при таком методе - какой смысл в процедуре?

51K
21 сентября 2009 года
laba
16 / / 20.08.2009
Цитата: Sonia
Какой смысл так делать если задача - сделать клиента тоньше, а сервер толще?



Что имелось ввиду?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог