Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

BLOB в ХП [IB6.x, FB]


GanibalLector ©   (2004-10-06 12:39:00) 

Имеется таблица:
CREATE TABLE OPL (PL1  VARCHAR(8),PL2  VARCHAR(8),FN   VARCHAR(14));
Содержащая,предположим такие данные

АА400001  АА400002 2033001245
АА400003  АА400004 2032001548
АА400005  АА400006 2032005874
АА400050  АА400051 203300155V
АА400052  АА400053 2013001548

В данный момент сделал ХП,которая возвращая мне такой набор данных:

АА400001  АА400006
АА400050  АА400053
т.е. ищу последовательности!!!и вывожу мин.и максимальную

А нужно примерно так:
2033001245 АА400001  АА400006
2032001548
2032005874
_______________________
203300155V АА400050  АА400053
АА400052
т.е. нужно еще задействовать поле FN и вывести все значения которые принадлежат этой последовательности

Ну а теперь собственно вопрос:
Пробовал ставить в своей ХП ->BLOB(выходным параметром)
и делал примерно так :

CREATE PROCEDURE TEST RETURNS (
   ...
   FN BLOB SUB_TYPE 1 SEGMENT SIZE 80)
AS
...
DECLARE VARIABLE N_FN VARCHAR(14);
begin
...
    FN=FN+N_FN // пробовал и так FN=FN||N_FN
...
end

на что получаю ошибку.Более того,даже если поставить так FN=N_FN,то ХП "скомпилируется",но выполняться не будет.
Насколько я понял,если в таблице нет поля BLOB,то и ХП его создать не может.

Что делать ???Нужен совет...


Digitman   (2004-10-06 18:07:00) [1]

function CreateEmptyBlob(Blob: PBlob): PBlob; cdecl;
begin
 Result := Blob;
end;

DECLARE EXTERNAL FUNCTION CREATEEMPTYBLOB
   BLOB
RETURNS PARAMETER 1
ENTRY_POINT 'CreateEmptyBlob' MODULE_NAME 'udflib.dll'


GanibalLector   (2004-10-06 17:07:00) [2]


>> в таблицах BLOB-a нет,а ХП вернет BLOB.Правильно?
>да, правильно


А какой-нибудь захудалый пример есть???


Digitman   (2004-10-06 15:51:00) [3]


> GanibalLector ©   (06.10.04 14:52) [3]


ну почему сразу "массив" ?

обычный НД, имеющий требуемую тебе структуру :
поле1 - начало диапазона
поле2 - конец диапазона
поле3 - значение, принадлежащее этому диапазону


> в таблицах BLOB-a нет,а ХП вернет BLOB.Правильно?


да, правильно


GanibalLector   (2004-10-06 14:52:00) [4]

зачем БЛОБ-то ? поясни ...
Ну а что еще???Я думал может массив,но как-то стремно(да и примеров нет)

но БЛОБ может вернуть вызываемая тобой из ХП твоя собственная UDF
А вот за это спасибо.
И еще,давайте уточним.Т.е. в таблицах BLOB-a нет,а ХП вернет BLOB.Правильно???


Digitman   (2004-10-06 12:56:00) [5]


> Пробовал ставить в своей ХП ->BLOB(выходным параметром)


зачем БЛОБ-то ? поясни ...


> если в таблице нет поля BLOB,то и ХП его создать не может


разумеется, не может
но БЛОБ может вернуть вызываемая тобой из ХП твоя собственная UDF


GanibalLector   (2004-10-06 12:41:00) [6]

Ошибочка вышла :

А нужно примерно так:
2033001245 АА400001  АА400006
2032001548
2032005874
_______________________
203300155V АА400050  АА400053
2013001548


Наверх

Титульная страница Поиск, карта сайта Написать письмо