Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Вниз

Как определить пуст блоб или нет   Найти похожие ветки 

 
darlock   (2006-11-16 12:28) [0]

Привет всем!

А не подскажет ли кто-то как можно определить что у меня находится в BLOB поле - EMPTY_BLOB() или картинка? Я знаю что можно функцией LENGTH(PHOTO)=0 - но в случае больших выборок с большими блобами ИМХО селект будет хорошо подтормаживать (ведь тогда оно будет считать размер каждого BLOBa)?

Спасибо


 
clickmaker ©   (2006-11-16 12:35) [1]

Field.IsNull


 
ЮЮ ©   (2006-11-16 12:41) [2]


> Field.IsNull


Так это на клиенте. Что не спасет в случае больших выборок с большими блобами . В этом случае спасет <NULL> или <значение ключевого поля в другой таблице, содержащей только блобы, часто бесполезные в больших выборках>


 
sniknik ©   (2006-11-16 12:47) [3]

> Так это на клиенте.
а на сервере IS NULL, IS NOT NULL в условии отбора.


 
ЮЮ ©   (2006-11-16 12:51) [4]


> в условии отбора.


можно и как поле выборки
Select Id, case when html is null then 0 else 1 end htmlPresented from U_WorkPlans


 
darlock   (2006-11-16 13:53) [5]

Наверное я плохо описал проблему. Суть в том что в поле BLOB на стороне сервера может быть либо NULL либо какое-то значение. Какое-то значение BLOB поля вставляется в оракл путем создания LOB_locator-а функцией EMPTY_BLOB(), а затем это значние UPDATEится на фотографию к примеру. Но если фотографии нету - в базе так и остается LOB_Locator созданный функцией EMPTY_BLOB(). Получается что это уже не NULL - т.к. LOB_Locator уже создан, но с другой стороны он укзаывает в никуда - т.е. фактически он пустой. Вот я и хочу узнать может быть как-то можно отличить NULL от EMPTY_BLOB, кроме как вызовом функции length

Спасибо


 
Desdechado ©   (2006-11-16 16:50) [6]

1. а зачем лепить туда пустой блоб, если можно его лепить туда только полный?
2. length AFAIR не работает с блоб
3. поищи в dbms_lob


 
sniknik ©   (2006-11-16 16:57) [7]

может и сравнивать с пустым? сделать переменную такого же типа, присвоить ей аналогично пустой... и сравнивать.

> 2. length AFAIR не работает с блоб
в mssql точно не работает (как и сравнение), т.что совет выше, только с оговоркой на особенности sql сервера (позволяет одно так почему бы и не другое)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.054 c
15-1167329662
Rouse_
2006-12-28 21:14
2007.02.04
Вот вам для разминки мозгов.


2-1169318929
mary84
2007-01-20 21:48
2007.02.04
как создать в базе данных таблицу картинок jpg


15-1168866992
Сатир
2007-01-15 16:16
2007.02.04
Создание инсталлятора установки компонент для Delphi


5-1147246180
Чапаев
2006-05-10 11:29
2007.02.04
Наследник TDataSet


2-1168866844
Vlad_Uzegov
2007-01-15 16:14
2007.02.04
A call to an OS function failed





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский