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

Вниз

Переменные типа image в скрипте   Найти похожие ветки 

 
Ega23 ©   (2006-01-30 19:08) [0]

Есть проблема.

Имеется следующая временная таблица:

Create Table #Temp_AccMetPL
  (
   ObjID int,
   ObjOwner int,
   ObjNam varchar(64),
   ObjImg image,
   HasOperMet tinyint,
   HasAdmMet tinyint
   );


Надо обойти её курсором по ObjID и сделать Update для поля ObjImg. А точнее - взять его из другой таблицы.
Делаю так:

Declare Cur Cursor Local Static for
 Select ObjId from #Temp_AccMetPL;
Open Cur;

While (0=0)
 begin
  Fetch Next from Cur into @x;
  if @@FETCH_STATUS <> 0 BREAK;
  Update #Temp_AccMetPL Set
    ObjImg=(
         Select C.CLSImg
         from Classes C, ObjectClasses OC
         where C.CLSID=OC.CLSID and OC.ObjID=@x
         )
       
   where ObjID=@x;
 
 end;

Close Cur;
Deallocate Cur;

Всё бы ничего, но:
The text, ntext, and image data types are invalid in this subquery or aggregate expression.

Локальную-же переменную типа image заводить нельзя.

Что делать?


 
Nikolay M. ©   (2006-01-30 20:22) [1]

А нафиг здесь вообще курсор?

UPDATE
 #Temp_AccMetPL
SET
 ObjImg = C.CLSImg
FROM
 #Temp_AccMetPL ampl,
 Classes C,
 ObjectClasses OC
WHERE
 C.CLSID = OC.CLSID
 AND OC.ObjID = ampl.ObjID


 
Ega23 ©   (2006-01-31 08:56) [2]


> А нафиг здесь вообще курсор?


Коля, спсибо, сам вчера допёр.  Просто у меня тырнет в 20:00 отрубают...  :о)
Хотя курсор всё равно нужен. Правда для других целей.


 
Nikolay M. ©   (2006-01-31 10:08) [3]

Да не за что, собственно.
Но я все равно за то, чтобы обходиться без курсоров - уж очень они ресурсоемкие. В 99% случаев достаточно автоинкрементного ID и обычного  цикла

WHILE (@ID IS NOT NULL)
...
SELECT
 @ID = (SELECT MIN(ID) FROM #tab WHERE ID > @ID)


 
Polevi ©   (2006-01-31 14:42) [4]

>Nikolay M. ©   (31.01.06 10:08) [3]
ну ты это зависит от колва данных и запроса к ним



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

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

Наверх





Память: 0.45 MB
Время: 0.052 c
2-1141751190
Эля
2006-03-07 20:06
2006.03.26
минимизация многооконного приложения


3-1139147979
OldNick
2006-02-05 16:59
2006.03.26
Удаленные записи в paradox


2-1141916211
VitV
2006-03-09 17:56
2006.03.26
Interbase+Delphi7. Связь таблиц.


15-1141631228
konda
2006-03-06 10:47
2006.03.26
Вопрос по Excel


1-1140451254
Grol
2006-02-20 19:00
2006.03.26
Глюки с арифметическими вычислениями, провожу вычисления в Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский