Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2010, 11:23
eldaeron eldaeron вне форума
Прохожий
 
Регистрация: 05.05.2008
Сообщения: 15
Репутация: 10
По умолчанию сохранение blob в таблицу

добрый день!
вопрос к хорошо знающим оракл.
в двух словах, я передаю файл кусочками по 32к из приложения в хранимую процедуру оракла. файл принимается и сохраняется.
принимает и сохраняет его следующая процедура:
(в базе есть запись с id 1 и полем ORIG_FILE типа blob = null)
Код:
procedure dbst_save_lob( 
  id in number
 ,blb in blob
) is
  bl blob;
  len     BINARY_INTEGER;
begin
 select ORIG_FILE into bl from test_lob_2 where ID=1 for update;
 --prog_debug_info_save(length(bl));
 if bl is null then 
   begin
     update test_lob_2 set ORIG_FILE=blb where ID=1;
   end;
 else
   begin
     len := length(blb);
     dbms_lob.writeappend(bl, len, blb);
     update test_lob_2 set ORIG_FILE=blb where ID=1;
   end;
 end if;
end;
вроде все работает, но есть одно но, слишком долго. можно ли как нибудь избежать постоянного select'а и update'а?
в том плане чтоб как то складировать это в какую нибудь переменную и update делать только в самом конце?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:57.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025