Главная страница
    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.042 c
4-1136582918
g-l-u-k
2006-01-07 00:28
2006.03.26
Получение PID


2-1142279229
LordOfRock
2006-03-13 22:47
2006.03.26
Дерево и много текста


2-1142240964
mrAndersen
2006-03-13 12:09
2006.03.26
Как добавить *.gif файл на форму?


9-1126594429
WondeRu
2005-09-13 10:53
2006.03.26
OpenGL. Вывод одновременно растрового и векторного шрифтов. Как?


2-1142189230
Dublicator
2006-03-12 21:47
2006.03.26
Поиск в стеке





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