Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по ODCIAggregate 
V
    Опции темы
SID_M
  Дата 24.2.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 11.2.2005
Где: Россия, г. Москва

Репутация: нет
Всего: нет



Доброго времени суток!
Задача написать функцию агрегирования - конкатенация строк с произвольным разделителем, используя ODCIAggregate.
В интерфейсе ODCIAggregate в методе
Код

MEMBER FUNCTION ODCIAggregateIterate(self  IN OUT str_concat_t, value IN VARCHAR2) RETURN NUMBER

есть параметр self, т.е. мы можем инициализировать объект извне и в дальнейшем использовать параметры этого контекста. Например, для хранения разделителя и т.д.
В статическом методе
Код

STATIC FUNCTION ODCIAggregateInitialize(ctx IN OUT str_concat_t) RETURN NUMBER

есть параметр ctx.
Вопрос заключается в том, как передать значение этого параметра извне, например из функции агрегирования?
--------------------
Если тебе не дано летать, то хотя бы ползай с гордо поднятой головой.
PM MAIL ICQ Skype GTalk   Вверх
Zloxa
Дата 24.2.2009, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(SID_M @  24.2.2009,  13:42 Найти цитируемый пост)
как передать значение этого параметра извне

Дыкть никак, потому как вызывается этот метод извнутри smile

Можно извратиться через контекст, через пакетные паременные, но это не из "функции аггрегирования", да и не стоит вносить сумбур без надобного.

К тому ж не помню изменяет ли мне память, или таки где то упоминалось, что пользовательский агрегат не может принимать более одного параметра?



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
SID_M
Дата 26.2.2009, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 11.2.2005
Где: Россия, г. Москва

Репутация: нет
Всего: нет



Да... это я уже разобрал. 
Спасибо. 
Хрен с ним с агрегатом. smile
--------------------
Если тебе не дано летать, то хотя бы ползай с гордо поднятой головой.
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.5482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.