Текущий архив: 2006.10.08;
Скачать: CL | DM;
ВнизПередача 3-мерного масива строк в ХП. D7. Firebird. IBX. Найти похожие ветки
← →
_RusLAN © (2006-08-05 13:40) [0]Требуется совет бывалых как реализовать сабж.
Я думаю передавать все одной строкой символов с разделителями, а в ХП распарсивать(отсюда вопрос: Как?).
Начально вся структура идет в виде XML, может так и передавать в хранимую процедуру XML-текст в ввиде строки, и сделать UDF, которая будет принимать XML-текст и выдавать значение элемента по индексу.
подскажите, как обычно решают такие задачи?
← →
Dok (2006-08-05 14:37) [1]Зачем?
← →
PEAKTOP © (2006-08-05 14:53) [2]я бы начал от UDF плясать...
а в ХП необязательно передавать. Можно массив сохранить во временной таблице, а в ХП передать ID этого элемента, а значение в виде BLOB TEXT выбирать в самой ХП.
← →
Dok (2006-08-05 15:01) [3]Зачем?
← →
Desdechado © (2006-08-07 11:23) [4]Что есть "3-мерный массив строк"?
Может, его просто сохранить временно в буферную таблицу, передав в ХП указание, как его оттуда извлечь для обработки? Ведь любую трехмерщину известной структуры можно поделить на срезы (провести планаризацию) и вписать в плоскую таблицу.
← →
_RusLAN © (2006-08-07 13:56) [5]> Что есть "3-мерный массив строк"?
Как тогда просто передать ХП масив строк?
Со временными таблицами не хочется заморачиваться, их же нет в чистом виде в FB 1.5.3
← →
Desdechado © (2006-08-07 14:04) [6]Я не упоминал термин "временная". Я написал - буферная. Этопостоянная таблица, данные в которой не задерживаются. Ты можешь туда их вписать перед вызовом процедуры, а в процедуре после обработок потереть. Можно ID сессии туда втолкать при многопользовательской работе, чтоб отличать свои от чужих при необходимости хранить этот буфер в течение нескольких транзакций.
← →
Сергей М. © (2006-08-07 15:24) [7]
> _RusLAN © (07.08.06 13:56) [5]
> Как тогда просто передать ХП масив строк?
Как BlobStream.
В теле ХП для получения элемента массива вызывается UDF, которой на вход подается полученный BlobID и индекс элемента и которая возвращает элемент.
Страницы: 1 вся ветка
Текущий архив: 2006.10.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.042 c