Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
2-1159109758
Серый
2006-09-24 18:55
2006.10.08
Поля Edit


2-1158359832
Juri
2006-09-16 02:37
2006.10.08
Фильтровать базу данных по куску слова


15-1158667458
dgim
2006-09-19 16:04
2006.10.08
Файлы....


2-1158924616
jjj
2006-09-22 15:30
2006.10.08
ComboBox только для чтения


15-1158557709
Ega23
2006-09-18 09:35
2006.10.08
С Днём рождения! 16 сентября




   Наверх